Function (Fn) Keys Sticking + Fix for Linux

Nono, I understood you the first time – thanks for the deeper explanation though! This leads me to believe that you may be misunderstanding what the actual issue is :slight_smile:
I’ll explain at the bottom of this post, and my apologies if I’m misunderstanding you.

This (the Fn lock option) exists on the Framework laptop by pressing Fn + Esc (fn lock) to toggle it. Toggling between the two won’t resolve the issue as it exists in both states (Fn lock off or on).


Explanation

It’s in the original post, but to rephrase succinctly, after pressing the Fn + some modifier key in a known order, that key will stick. Stick meaning the key will act as if it’s repeatedly pressed, or held down.
For example, the volume up key gets “stuck” so that the system keeps increasing volume.
This is because the key up signal isn’t being properly sent.

Sometimes the user won’t know one of the keys is stuck, which can cause one of the keys to “randomly” keep being pressed.
For example, in the middle of typing, the left arrow key sticks so the cursor keeps moving to the left. One can see how this is frustrating during normal use.

On Linux, this pertains to all/most keys with Fn modifiers. On Windows, just brightness up/down.

This is all already detailed in the original post with the software/driver fix for Linux, though. The ultimate fix would be in a BIOS update. It was confirmed to arrive, but didn’t make it to 3.07, so hopefully it will in an upcoming release.

While I’m typing this up – it seems that some manufacturers never get around to fixing this in the EC/BIOS or even acknowledging the issue. So, kudos to Framework!!

2 Likes

Ah bugger. That sucks.
Yeah sticky keys are a pain.

It looks like BIOS v3.09 fixed this (BIOS 3.09 Beta release); I just removed the udev file and reran the two commands to undo the changes. Fingers crossed that it works!

(I’m guessing this was the fix: Merge pull request #485 from FrameworkComputer/hx20.keyboard_key_scan… · FrameworkComputer/EmbeddedController@fa89820 · GitHub)

3 Likes

Hm, I just tried editing my original post and it seems that I can’t – mods, any suggestions? Or please feel free to add a disclaimer at the top about BIOS 3.09!

Thanks for the confirmation @Jake_Bailey, I also just got 3.09 installed and am confirming that it seems to have fixed the issue. Will report back if it still remains.

To uninstall the udev rules see here.

To uninstall the custom driver:

  1. modprobe
  2. DKMS

Thanks @Kieran_Levin/Framework team/those that helped get this fixed. Cheers!

3 Likes