RoanH / KeysPerSecond

A keys-per-second meter & counter. Written for osu! but should work for other rhythm games too.
https://osu.ppy.sh/forum/t/552405/
GNU General Public License v3.0
346 stars 28 forks source link

Keyboard Layout #62

Open Gulli03 opened 2 years ago

Gulli03 commented 2 years ago

I have an issue where I press two different keys on my keyboard, but they get recognized as the same, probably because this program uses the standard qwerty layout.

RoanH commented 2 years ago

Interesting, sounds like that might be related to #35. It's interesting that distinct keys are detected as the same key though, but most likely this is a problem with the library I use to handle the key events jnativehook. Either way, before I can look into this I need some steps to reproduce the issue, but it is likely that this issue is out of my control.

Gulli03 commented 2 years ago

So my Keyboard layout is Qwertz (German) and for example Alt Gr is recognized as the normal Alt, and the # key is the same as divide on the numpad. In general most keys on the numpad are recognized as some other key on the rest of the keyboard, but I think that is because they are mostly duplicates.

RoanH commented 2 years ago

Ah, like that, so those are mostly essentially the same key with more than one location on the keyboard. I'm not sure if the location information is something I have access to but I think it might be so I'll have a look.

Gulli03 commented 2 years ago

But they do different things, have different function, write different characters. How could they be the same key?

RoanH commented 2 years ago

At least in the case of Alt that is actually the same key (key code wise at least). As far as I'm aware all numpad keys are also just reusing key codes of other existing keys. The fact that they now map to different characters is most likely due to a difference in keyboard layout (on qwerty they all share the keycode of their normal key). But fixing keyboard layout related issues is probably outside of my control. However, if I have access to the key location information (I think I do) then I should be able to fix that they are detected as the same physical key. And then you could simply edit the display name of the added key if it's wrong (since Java does properly support different keyboard layouts).