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:

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

    With the fn key taped down, I’m sadly unable to do fn+enter or fn+backspace. However, fn never shows up with sudo keyd monitor, sudo evtest, or xev. I’ve just tried setting fn to insert (enter) and delete (backspace) via keyd, but no luck there either. :c

    • chirping@infosec.pub
      link
      fedilink
      arrow-up
      3
      ·
      8 days ago

      Seems like the fn key is intercepted by the firmware then, that sucks. I’m repeating the same question differently just to ensure we’re on the same page:

      If I understood correctly, your fn key is constantly “active”, making any key with an fn-modifier act as a different key, and that is why forexample the enter-button won’t be… well, enter? but if it enter acts as a different key, i.e. pressing enter gives a totally different keycode, can’t you rebind whatever keycode that turns into, into enter?

      I did a super surface-level quick search, it seems like the older macbooks have had some firmware reverse engineering done. Might be some options there. Also, your issue may be a common case of a specific board trace needing new solder, which might not be too hard. Maybe that guy who does apple repairs/right to repair has something on this, or a community who may know. Louis Rossman something? can’t recall.

      Also, you may’ve mentioned in your original post, but are there other keys that could work? doesn’t mac have that extra “option” key? i think i read that ctrl+fn key could be switched on a firmware level, if that means the ctrl key is then intercepted by the firmware I guess it won’t add much, but if all else fails, could be worth checking if it acts differently.

      good luck, I don’t have any more ideas but I’m rooting for you, would be interesting to hear if you find a solution.

      • lstwndr@piefed.blahaj.zoneOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        7 days ago

        At first, I thought it might be some hardware issue like that. But it really is macOS shutting itself down after 500 ms of inactivity. Some kind of trigger related to the liquid contact indicator is my best guess.

        Back when I switched to Linux, I still hadn’t taped down the fn key. That’s how I realized my laptop was actually fine, even without any key taped down. It runs better on Arch than on Mojave, too. If I ended up taping down the fn key, it’s only because I still need to use macOS from time to time.

        But that’s okay, I can live without the fn key! And now that I can use my internal keyboard while running Linux, it’s gonna be all good. Thanks. c: