Skip to content
Jasnan.xyz
Go back

Fixing Keychron K4 Bluetooth and function-key issues on Linux

Edit page

I’ve been using the Keychron K4 for almost two years now. Overall, I really like it. I use it for work and sometimes also to control my PC when it’s connected to the TV.

On Linux, the keyboard works perfectly in wired mode.

But Bluetooth… not always.

Here are a few problems I faced and how I fixed them. I tested this on Linux Mint, Debian, and Fedora.

Before anything: Make sure your keyboard firmware is up to date. Unfortunately, this still requires Mac or Windows 🤬


Function keys were not working

At first, my Fn + F keys didn’t behave correctly.

The fix is to change a Linux setting called fnmode.

There are 3 options:

I personally use 0, and it works fine for me.

Make it permanent

Create this file:

sudo nano /etc/modprobe.d/hid_apple.conf

Add this line:

options hid_apple fnmode=0

Save and exit.

Update the initramfs (this depends on your distro):

Reboot.


Keyboard gets stuck in numpad mode.

Sometimes the keyboard acts like it’s in numpad mode. Letters become numbers, and many keys stop working.

Quick fix

That’s it.


Bluetooth connection is slow

Sometimes the keyboard takes a long time to reconnect, especially after sleep. This was annoying when switching between devices.

You can speed this up by enabling fast connect.

  1. Open:
sudo nano /etc/bluetooth/main.conf
  1. Uncomment and adjust:
FastConnectable = true
ReconnectAttempts = 6
ReconnectIntervals = 8, 16

Save and exit.

Then restart Bluetooth:

sudo systemctl restart bluetooth

After this, my keyboard connects almost instantly.


Thoughts

The keyboard itself is great. Most of these issues are just small Linux quirks.

Once you fix them, everything works smoothly.

Hope this helps someone avoid the same frustrations I had!


Edit page
Share this post:

Next Post
Converting my bike from a 3×9 to a 1×11 drivetrain