Hi! So, I have a 2014 MacBook Pro with the fn key permanently taped down. Which is fine when running macOS, as the fn key is disabled in system settings. With Linux however, I need to relay on an external keyboard, because the taped down fn key is preventing essential keys like backspace and return to function properly.

Is there a way to disable the fn key under Arch with Wayland and River WM? All I could find is keyd, which seems great, except it doesn’t work on my machine when it comes to the fn key.

Everything is fine according to both sudo journalctl -eu keyd and sudo systemctl status keyd . Here’s my /etc/keyd/default.conf :

[ids]  

05ac:025a:21458be1 # Apple Inc. Internal Keyboard  

[main]  

a = b # Just for testing  
b = a # Just for testing  
fn = noop # Disable the fn key  

Swapping a and b does work, but for some reason, disabling the fn key doesn’t. Or at least, it still prevents me to use backspace or return on the internal keyboard.

Another one I tried is Input Remapper, alas sudo input-remapper-control --list-devices sees every device, internal trackpad included, but not the internal keyboard. So that one’s probably out anyway.

If anyone is able to think of something before I spend money I don’t have on a second decade old laptop just to SSH into my MacBook when my body prevents me from sitting at the desk, that would be much appreciated.

Thanks! c:

Wait, why the heck is your fn key taped down?!

In 2019, I spilled a little water next to my MacBook. After that, it would refuse to boot, shutting itself down during the loading sequence. I then realized that pressing random keys during its initialization would get my Mac to start up. Once logged in however, it would turn off after a few seconds. Cried a lot before eventually finding out that any lack of activity for 500 ms would cause the laptop to shut down instantly. Never could find a proper solution, or even someone with the same issue, although I’m sure it’s due to Apple’s usual shenanigans and not a real hardware issue: this was never a problem with Linux. So, rather than losing my only computer, I sacrificed my fn key. Six years later, this machine proclaimed dead by a Genius is still running Arch Linux and macOS Mojave just fine. Morale of the story? Fuck Apple, and maybe my neurological disorder and shaky hands too, but mostly Apple.

Edit:

Solution provided by @Oinks@lemmy.blahaj.zone. Many thanks to her!

To disable the fn key temporarily:
echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode

And done!

To disable the fn key permanently:
echo options hid_apple fnmode=0 | sudo tee -a /etc/modprobe.d/hid_apple.conf

And then regenerate the initramfs. If you’re using Arch like me, it’s:
sudo mkinitcpio -P

Thanks to everyone who tried to help! Much appreciated. c:

  • CaptainBasculin@lemmy.bascul.in
    link
    fedilink
    arrow-up
    4
    ·
    8 days ago

    Just curious, since the issue doesn’t exist on Linux, what would happen if you outright disabled the internal keyboard on Linux and use an external keyboard?

    Or possibly, program a microcontroller board to send an obscure device input in a loop to your computer?

    • lstwndr@piefed.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      8 days ago

      Using an external keyboard does work, even without disabling the internal one, but the goal really was to be able to use my laptop as a laptop again. c: