3

i'm running Ubuntu 16.04 LTS and want to use an apple keyboard (wired). No i'm facing some problems whith making my custom settings permanent. I'm using the 'English internationl, AltGr dead keys' layout.

The keyboard has some keys swapped and i set the settings manually in the /sys/module/hid_apple/parameters/ folder. I set fnmode to 2 , iso_layout to 0 and swap_opt_cmd to 1. After this everything works like intended. But after rebooting the settings are back to the default. I have to reset everything manually after each reboot.

For now i wrote a little shell script which would do it but that's not the best way i think.

How can i make these settings persistent?

Ian
  • 53
  • 1
  • 6

2 Answers2

13

I had a similar issue with a Varmilo VA109M Keyboard (for some reason it registers as an apple keyboard).

I'm running Ubuntu 20.04, and everything worked after doing these steps from this guide:

  1. Run the following command to append the configuration line to the file /etc/modprobe.d/hid_apple.conf creating it if necessary:

    $ echo options hid_apple fnmode=0 | sudo tee -a /etc/modprobe.d/hid_apple.conf
    
  2. Trigger copying the configuration into the initramfs bootfile.

    $ sudo update-initramfs -u -k all
    
  3. Reboot

    $ sudo reboot
    

You may need to echo different options into your /etc/modprobe.d/hid_apple.conf file, to setup your keyboard to your liking.

jpihl
  • 231
  • 2
  • 3
10

It appears that you can create /etc/modprobe.d/hid_apple.conf and add the entries you need fixing in there, such as,

options hid_apple fnmode=2

NB: This assumes the hid_apple module is already being loaded.

EightBitTony
  • 20,963
  • 4
  • 61
  • 62
  • 1
    That did only work for logout and login again. After rebooting settings have been reset and i have to reload the module manually via modprobe ... which needs a keyboard to unload and reload it. Or another script ... – Ian Nov 29 '17 at 15:24
  • After the reboot, does `/etc/modprobe.d/hid_apple.conf` still exist, and does it still have that line in it? – EightBitTony Nov 29 '17 at 21:03
  • It is still there.. Do i have to enable loading in any way? – Ian Dec 03 '17 at 11:14
  • 3
    I found it... I had to add `hid_apple` to `/etc/modules`. After doing this the correct settings have been set. Thanks! – Ian Dec 03 '17 at 11:48
  • Same thing on Arch Linux. Editing /etcf/modprobe.d/hid_apple.conf and then running mkinitcpio -p linux did the trick here. – Alexander Feb 11 '21 at 22:28