So, what you need to do is add a file to your modprobe.d directory (/etc/modprobe.d) You can test out that this works by running this command as sudo (I think this should work on any distribution but I use arch): echo 0 >> /sys/module/hid_apple/parameters/fnmode. If it works, to make this change permanent, make the file /etc/modprobe.d/hid_apple.conf and insert into it the line options hid_apple fnmode=0. This should fix all of your issues (I'm using my keyboard in Windows mode and with FN keys set to turn media controls on and act as function keys). You'll also need to update your initramfs image, which varies by distribution. Ubuntu based distributions, you'll usually use update-initramfs -u, while in Arch you use mkinitcpio -P (unless you've changed what generates your initramfs image but most people don't.)