3

So, I recently bought a new mechanical keyboard, and I've been having trouble with the F1-F12 keys. After some investigation, I discovered that this is happening because the keyboard, for some ungodly reason, has the same vendor ID and product ID as a completely different keyboard manufactured by Apple. My kernel then loads the hid_apple driver automatically, which causes the F1-F12 keys to function as they would on an Apple keyboard, which is not what I want.

I have tried remapping the keys using both xmodmap and an hwdb entry, with no luck. I also tried blacklisting the hid_apple kernel module, which prevents the keyboard from working at all. I want to force the keyboard to use the hid_generic driver, but I'm not sure how. Is there a way I can force that driver to be used, perhaps through a udev rule or similar?

UPDATE: It turns out that the hid_generic driver does not work. Preventing hid_apple from being loaded simply stops the keyboard from being recognized.

Maveth
  • 31
  • 2
  • You probably just need to change `fnmode` of the `hid_apple` module, like so: `echo 2 | sudo tee -a /sys/module/hid_apple/parameters/fnmode`. See this answer: https://askubuntu.com/a/7553 – spiderface Jul 26 '23 at 20:05

0 Answers0