[SOLVED] Ubuntu 22.10 (11th Gen) upgrade : Fn key stopped working

fwiw… In another thread I got this tip:

I will try it out (actually in the linked info a user suggested to in addition to blacklisting, he just rmmod ed the module without rebooting… I am trying that right now…) let’s see if it helps

1 Like

For me the fn key stops working about once a day. I hibernate and restart and the fn key is back. I am using Arch Linux.

It just does not feel right that the locales be the cause. I suspect the proposed solution is just accidental, and the error is at the keyboard firmware level. Why?

I have Esc and Caps Lock switched being a modal editor user. Even after switched the keys, for fn-lock I still have to press the fn key together with the key that was Esc (at the upper left corner of the keyboard).

This means, even with the swap Esc-Caps Lock:

  1. Press Fn-F8: Screen gets brighter
  2. Fress Fn-Esc
  3. Press Fn-F8: Nothing happens (F8 has no function)
  4. Press F8: Screen gets brighter

Esc-Fn is handled at a very low level and not by the OS but by the keyboard firmware, right?

And now: If Fn stops working, Fn-Esc does not work anymore. Boom.

To be sure: I tried Fn-Caps Lock, but this does not work in both case.

Now my question: Is it true that the OS does not get Fn-Esc?

There are a few threads about this, the main one is [TRACKING] Fn key stops working on PopOS after a while - #49 by DHowett. The TLDR is to try blocking the cros_ec_lpcs kernel module and see if that helps. Also if you’re using ectool to get fan speeds, try disabling that also.

Correct, it is true that the OS never sees the Fn key at all. It is 100% handled by the keyboard firmware. The other thread has links to the relevant firmware code, where you can see it doing things like choosing whether to report (for example) media/special keys, or F1-F12 keys, depending on the state of the Fn key (and Fn-Lock, which is triggered via Fn-Esc).

1 Like

Hello from the future. I have a fresh install of Kubuntu 23.10 and this fixed my problem. Unsure what broke it in the first place…