keyboard language not respected
e.g. if I set a key to < I will get a semicolon instead, because in my layout the key that would on a US keyboard be less is a semicolon. This happens even in tty.
This makes it impossible for me to bind an alternate key to be less because even on US keyboard layout, the european less key is the same symbol as the american less key, even if it's a completely different button.
version 2.5.0
Please see that comment, I think it will help you understand:
https://github.com/rvaiya/keyd/issues/193#issuecomment-1103195151
Please see that comment, I think it will help you understand:
Yeah... So mapping the european < key (the one between shift and z) is impossible with keyd because it doesn't exist on a US layout keyboard? I really need that bind, it's a fairly common issue for me, this is like the 3rd time I have a keyboard that's missing that key, but it is necessary for me to have this key as otherwise I cannot type less, greater or bar symbols which is pretty crippling on linux.
I have other uses for keyd but if it can't do this simple thing what's even the point?
You can, it just has a different name in keyd. Use keyd monitor to figure out what it is. I agree that some sort of automatic translation layer would be less confusing (but you would still have to activate it manually, because keyd cannot know what layout your keyboard has).
If your problem is that you do not have that key on your physical keyboard, then we can take a guess. My shot in the dark would be that you'd have to bind it to \. If not, what keyboard to you have and what is the keyboard layout you use (the one on your display server, not the keyd one)?
Please check that file for names:
https://github.com/rvaiya/keyd/blob/f010d00d8469b90d59911086166e66dceb2dd70f/src/keys.c#L104
It is called 102nd.
Please check that file for names:
Line 104 in f010d00
[KEYD_102ND] = { "102nd", NULL, NULL }, It is called
102nd.
Thanks that was it, but I'm not sure how I was supposed to figure this out, is it expected to simply guess my way through it? try all binds until something sticks? I had no reason to think you even had this bind, the only weird name i've seen it called is something like iso-level-backslash.
With keys I actually have on the keyboard it wouldn't be a problem, but for keys that aren't on it using strange names...
Keyd monitor is very useful for keys I do have though.
If your problem is that you do not have that key on your physical keyboard, then we can take a guess. My shot in the dark would be that you'd have to bind it to
\. If not, what keyboard to you have and what is the keyboard layout you use (the one on your display server, not the keyd one)?
The language from tty to my display server is icelandic, they use a standard european/uk layout there but with different labels for a lot of the keys. This particular key is unchanged on it though., and the onley way to type <>|
I am not saying that it is easy. I have just spent a lot of time configuring my keyd configuration, and I know that those keys are referenced in that source file. Maybe something should be added to the manpage to explain better that the reference keys are based on qwerty and provide better information on how to discover key names.
ANSI (mainly US) keyboards have 101 keys, while ISO (European) keyboards have 102. And the key that gets added on the ISO keyboard is exactly the one you were looking for. And so it happens that its name is 102nd just because it is this added key over ANSI.