Functional keys do not work

Hi. I tried Zorin just now. But so far as I can see functional keys do not work.

For example the key Fn+F2 should set volume down or Fn+F3 (volume up) etc. Or Display Brightness Fn+F5/F6

I am on Lenovo ThinkPad X1 Carbon Gen7 (https://pcsupport.lenovo.com/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-7th-gen-type-20qd-20qe)

My keyboard looks bellow (see the picture)

Thanks for any help.

Welcome to the Forum!

Because I see that on Your Picture: your esc-Key seems to be for locking the Fn-Keys. Maybe this is active?

I think if it was locked that little L.E.D. circle would be lit up! :wink:

@fkdp Hi and welcome.

Using Brave A.I. search engine via Mojeek gives (Zorin 18 is a fork of Ubuntu24.04):

" Fn key functionality on Lenovo ThinkPad X1 Carbon Gen 7 in Ubuntu 24.04 with kernel 6.17 is commonly affected by hardware-level handling of Fn combinations, where the keyboard controller (not the OS) processes Fn key inputs , meaning standard OS-level key remapping tools cannot directly bind custom actions to Fn + key combinations.

However, several solutions have proven effective for similar ThinkPad models:

  • Check BIOS settings : Enter BIOS and look for "Fn Key Mode" (often labeled as "Function Key Behavior" or similar). Ensure it is set to "Normal" (or "Legacy") mode rather than "Smart" (or "Windows"). This is the most common fix for missing Fn key behavior.
  • Use rtcwake workaround (for KDE/Plasma) : A known workaround involves running rtcwake -m mem -s 2 at graphical session startup. Create a .desktop file in ~/.config/autostart/ (e.g., rtcwake.desktop ) with:
[Desktop Entry]
Name=rtcwake
Exec=/usr/bin/rtcwake -m mem -s 2
Type=Application
X-KDE-Autostart-enabled=true

This resets the keyboard controller state and restores Fn key functionality. This works best in KDE but may be adapted for other desktop environments.

  • Verify kernel modules : Ensure i2c-hid and i2c-hid-acpi modules are loaded:
sudo modprobe i2c-hid
sudo modprobe i2c-hid-acpi

To make persistent, add them to /etc/modules .

  • Test with xev or wev : Use xev (X11) or wev (Wayland) to monitor key events. If no output appears for Fn + key combinations , the OS is not receiving the key events — confirming the hardware-level limitation.

Note : The Fn key itself is not detected by the OS , so you cannot bind Fn + Space to open uLauncher via standard tools. The only workaround is to use the keyboard controller reset (rtcwake ) or rely on BIOS-level configuration.

AI-generated answer. Please verify critical facts."

Ignore the Plasma element, Zorin uses Gnome DE.

Lastly, Zorin defaults to the Wayland protocol for drawing the screen. See if changing to xorg helps. At login, select your user name and a cog should appear lower right - click on that and change it to 'Zorin on xorg'.

It wasn't active and yes, there is a LED which would indicate it. BTW if I press Fn+ESC the LED lights up, so which means the Fn key is working fine. Before installing Zorin, those functional keys were working fine on Windows.

Do all other Keycaps work as they should? What Keyboard Layouto did You choose during Installation and what is now set up in the Settings?

Thanks for your help. I didn't expect that FN settings exist in BIOS.

I switched the F1-F12 priority on and Fn keys started working as expected in Zorin.

All good now. :+1:

2 Likes

It was all left by default during the installation, which is English US.