- Jasnan

Troubleshooting Bluetooth Issues with Keychron on Linux

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:

  • 0 → Fn key is disabled
  • 1 → special keys (volume, etc.) come first
  • 2 → function keys (F1–F12) come first

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):

  • On Debian / Ubuntu / Linux Mint:
    sudo update-initramfs -u
  • On Fedora:
    sudo dracut --force

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

  • Press F6 or Fn + F6

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!