FrameworkComputer / qmk_firmware

Fork of QMK for the Framework Laptop 16
GNU General Public License v2.0
84 stars 24 forks source link

[Bug] Numpad module uses wrong equals #30

Closed medo64 closed 4 months ago

medo64 commented 6 months ago

Describe the Bug

Framework 16 numpad module uses KC_EQL as equals key on numpad. This means that this key behaves same as main keyboard equals key; e.g. Shift shows '+' instead of '=' and different remappings of keyboard affect both.

The proper key code for numpad would be KC_PEQL (aka KC_KP_EQUAL) as that one is keypad specific and does not get remapped with keyboard.

Keyboard Used

framework/numpad

Link to product page (if applicable)

No response

Operating System

No response

qmk doctor Output

No response

Is AutoHotKey / Karabiner installed

Other keyboard-related software installed

No response

Additional Context

No response

michael-r-elp commented 5 months ago

This won't work on Windows though, because it doesn't have a mapping for KC_PEQL, changing the mapping to it renders the button functionless.

Edit: Seems windows maps it to "Clear" which on some programs somehow results in it entering the number 5, while on other programs it doesn't do anything.

icedream commented 4 months ago

I'm not going to push for the PR to be merged under the given circumstances. I am not able to switch to Windows on this FW16 to test it but this sounds like something that would need a Windows-side fix, and I'm not expecting that to happen anytime soon.

IMO, there should at least be raised awareness for Linux users that this key can and probably should be remapped to the correct key code with VIA. I have no idea how to make that happen outside of documentation and pointers to documentation.

medo64 commented 4 months ago

Outrageous, I say. Outrageous!

Nah, I fully understand. We need to care about pesky Windows users. :)

michael-r-elp commented 4 months ago

I forgot to add that using KC_EQL will also not always work depending on the keyboard layout being used, as on a german keyboard for example that would result in ´ being entered. My solution has just been using a macro for entering =

I do wish all OSs would properly support KC_PEQL. But it seems peoples interest in proper support for KC_PEQL in windows seems basically non-existant.

whitslack commented 1 month ago

I independently stumbled upon this problem because I use Dvorak and my numpad equals key was inputting a closing square bracket character. I reprogrammed the key to the correct scan code (KC_PEQL) using the web-based tool, and now it works correctly.

It's such a shame that Windblows doesn't know what to do with that scan code. Because of that, we will probably never have a correct firmware.