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:

  • CameronDev@programming.dev
    link
    fedilink
    arrow-up
    23
    ·
    edit-2
    8 days ago

    You are the real life LongtimeUser4.

    https://xkcd.com/1172/

    Unfortunately I can’t help more than that.

    Edit: can you give the output of lsmod? I wonder if a hacked linux keyboard driver could help? I’m happy to give it a try if your interested in testing it.

      • CameronDev@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        8 days ago

        I’ll do a little research into both and try work out if there is anything that could be done. I can’t promise anything in terms of promptness, this is a learning experience for me as well. So hopefully someone else has an answer for you :)