- how do i use a bluetooth mac keyboard on ubuntu
- 3 Answers 3
- You must log in to answer this question.
- Related
- Hot Network Questions
- Subscribe to RSS
- Apple Keyboard
- Numlock is on
- Repeating keys on a wireless keyboard
- hid_apple module options
- Function keys do not work
- Switching Cmd and Alt/AltGr
- Swap the Fn and left Control keys
- < and >have changed place with ^ and ° (or @ and #, or ` and ~)
- PrintScreen and SysRq
- Treating Apple keyboards like regular keyboards
- Use a patch to hid-apple
- Troubleshooting configuration not picked up by the module
- Use un-apple-keyboard
- Change the Behavior Without Reboot
- Magic Keyboard does not connect
- Enable dvorak/dvp
- No input during root disk decryption
- See also
how do i use a bluetooth mac keyboard on ubuntu
i tried to use a wireless apple keyboard with my custom built ubuntu Pc and the key board layout is shifted. i tried using a different layout several times but it still refuses to work properly. any ideas?
3 Answers 3
The layout changes when you have Num Lock, so you get some sort of numpad in the middle-right of the keyboard. Just plug another keyboard to disable Num Lock and try again.
Sometimes the Ubuntu Bluetooth stack can behave erratically and prevent you from connecting your Apple Bluetooth Keyboard (or other bluetooth device). So to connect an Apple Bluetooth Keyboard to Ubuntu This may help
Also, you might want to look At this site for the description the default behavior of every Apple keyboard.
The 2nd link helped; owner of a Keychron K2 mechanical BT keyboard, double-tapping the fn+F6 key combination managed to dislodge the numpad.
For those working with a laptop and the older (cylindrical top) Mac Bluetooth keyboard (which has no number pad), make sure that on the laptop keyboard the numlock is disabled.
My configuration is Ubuntu 18.04 and Lenovo Ideapad 520
(This would be a comment except not enough rep points to do that)
You must log in to answer this question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.14.43533
Ubuntu and the circle of friends logo are trade marks of Canonical Limited and are used under licence.
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Apple Keyboard
Some keyboard models that use the Apple keyboard driver may have swapped keys or missing functionality. This article describes how to change the settings for the keyboard so that it behaves as expected.
Numlock is on
You may find that the numlock is on. The symptoms are that only the physical keys 7 , 8 , 9 , u , i , o , j , k , l and surrounding keys work and output numbers. To fix this hit Fn+F6 twice. You might need to use a utility like numlockx .
Alternatively, set the keycodes manually using xmodmap to avoid use Numlock:
keycode 90 = KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 keycode 87 = KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 keycode 88 = KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 keycode 89 = KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 keycode 83 = KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 keycode 84 = KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 keycode 85 = KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 keycode 79 = KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 keycode 80 = KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 keycode 81 = KP_9 KP_9 KP_9 KP_9 KP_9 KP_9
Repeating keys on a wireless keyboard
Unpair the keyboard and then re-pair it. The trick is to hold down the power button throughout the entire pairing process.
hid_apple module options
- fnmode — Mode of top-row keys
- 0 — disabled
- 1 — normally media keys, switchable to function keys by holding Fn key (=auto on Apple keyboards)
- 2 — normally function keys, switchable to media keys by holding Fn key (=auto on non-Apple keyboards)
- 3 — auto (Default)
- 0 — not ISO (=auto on ANSI keyboards)
- 1 — ISO (=auto on ISO keyboards)
- -1 — auto (Default)
- 0 — as silkscreened, Mac layout (Default)
- 1 — swapped, PC layout
- 0 — as silkscreened, Mac layout (Default)
- 1 — swapped, PC layout
Function keys do not work
If your F keys do not work, this is probably because the kernel driver for the keyboard has defaulted to using the media keys and requiring you to use the Fn key to get to the F keys. To change the behavior temporarily, append 2 to /sys/module/hid_apple/parameters/fnmode .
# echo 2 >> /sys/module/hid_apple/parameters/fnmode
To make the change permanent, set the hid_apple fnmode option to 2:
/etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2
To apply the change to your initial ramdisk, in your mkinitcpio configuration (usually /etc/mkinitcpio.conf ), make sure you either have modconf included in the HOOKS variable or /etc/modprobe.d/hid_apple.conf in the FILES variable. You would then need to regenerate the initramfs.
Switching Cmd and Alt/AltGr
This will switch the left Alt and Cmd key as well as the right Alt / AltGr and Cmd key.
Temporary and immediate solution:
# echo "1" > /sys/module/hid_apple/parameters/swap_opt_cmd
Permanent change, taking place at next reboot:
/etc/modprobe.d/hid_apple.conf
options hid_apple swap_opt_cmd=1
Swap the Fn and left Control keys
This will switch the Fn and left Control keys.
Temporary and immediate solution:
# echo "1" > /sys/module/hid_apple/parameters/swap_fn_leftctrl
Permanent change, taking place at next reboot:
/etc/modprobe.d/hid_apple.conf
options hid_apple swap_fn_leftctrl=1
< and >have changed place with ^ and ° (or @ and #, or ` and ~)
In kernel versions before 6.1.2 [1], keyboards with German layout have ^ / ° symbol and < / >exchanged. With French layout, @ / # and < / >are exchanged. With the US layout, ` / ~ and < / >are exchanged.
To change the behavior temporarily:
# echo "0" > /sys/module/hid_apple/parameters/iso_layout
To make the change permanent, set the hid_apple iso_layout option to 0:
/etc/modprobe.d/hid_apple.conf
options hid_apple iso_layout=0
PrintScreen and SysRq
Apple Keyboards have an F13 key instead of a PrintScreen / SysRq key. This means that Alt+SysRq sequences do not work, and application actions associated with PrintScreen (such as taking screenshots in many games that work under Wine) do not work. To fix this, you can add setxkbmap -option «apple:alupckeys» to your .xinitrc . This will map PrintScreen / SysRq to F13 , as well as Scroll lock to F14 and Pause to F15 .
Alternatively, follow the Map scancodes to keycodes article to map the F13 scancode to the PrintScreen / SysRq keycode, where 458856 (0x070068) is the scancode of F13 , and sysrq is the keycode of PrintScreen / SysRq .
Treating Apple keyboards like regular keyboards
Depending on the customisations you want to accomplish, there are two solutions available and some options that are in the kernel. You need to choose one of the other.
Use a patch to hid-apple
While the original hid-apple module does not have options to further customize the keyboard, like swapping Fn and left Ctrl keys or having Alt on the left side of Super , there is a patched version adding this functionality to the module. To use it, install the hid-apple-patched-git-dkms AUR package. This will install the patched hid-apple and mask out the original one.
The package uses DKMS to automatically recompile the module during kernel upgrades. While the dkms will be pulled in by dependency. You still need to install an appropriate kernel header package manually. See the DKMS page for more info.
In addition to the patched kernel module, a configuration file is also provided by the package at /usr/lib/modprobe.d/hid_apple.conf , which enables PC-like layout by default:
- Top-row keys are normally function keys, switchable to media keys by holding Fn key, as in #Function keys do not work.
- Four keys at the lower left corner act as Ctrl , Fn , Super , Alt , in this order.
- Two keys at the lower right corner act as Alt , Ctrl , in this order.
- If you have an Ejectcd key, it will act as Delete key.
If you wish to change the default options, copy the configuration file to /etc/modprobe.d and make desired changes:
# cp /modprobe.d/hid_apple.conf
The file under /etc/modprobe.d will completely override the one with the same name under /usr/lib/modprobe.d , and the content is NOT merged.
Alternatively, put additional options in a file with a different name if you want to keep default ones,
Note: Do not forget to update initramfs after manual changes to configuration files.
Please refer to the project README for the exact meaning of each configuration option and tweaking the configuration file to suit your needs. Learn more about modprobe.d at Kernel module#Using files in /etc/modprobe.d/.
After installation, reboot for the change to take effect, or #Change the Behavior Without Reboot.
Troubleshooting configuration not picked up by the module
First, make sure the patched version is loaded, see what parameters are provided by the module:
$ ls /sys/module/hid_apple/parameters/
If you do not see new options like swap_fn_leftctrl , ejectcd_as_delete , etc., check your DKMS installation.
Then, check if configuration files are correctly included in the initramfs:
$ mkdir /tmp/initramfs $ cd /tmp/initramfs # lsinitcpio -x /boot/initramfs-linux.img
Check the presence and content of usr/lib/modprobe.d/hid_apple.conf and any other relevant configuration files in etc/modprobe.d/ . If they are not there, you should check your /etc/mkinitcpio.conf to include those. By default, there should be a modconf hook that automatically include those files, if not, add it to the HOOKS array after autodetect .
Alternatively, specify those files in FILES array explicitly:
FILES=(/usr/lib/modprobe.d/hid_apple.conf)
Use un-apple-keyboard
If you do not need all of these customizations and you do not want to compile a new module manually or using dkms, there is an AUR package un-apple-keyboard AUR which does not rely on a new kernel module, but rather just to mappings. It enables the following features:
- The keyboard is considered as an ISO keyboard (e.g. < and >located at the right of the Left Shift key are working like expected).
- The function keys are disabled by default. You need to press the Fn key in combination to trigger them. By default, the behavior are thus keys F1 to F12
- The Alt and Cmd keys are swapped.
- F13 is mapped to SYSRQ , F14 to Scroll Lock and F15 to Pause .
The first 3 aforementioned features are brought to you using the default linux kernel module hid-apple .
The last one is provided by providing a mapping to keyfuzz AUR .
Change the Behavior Without Reboot
Warning: If the builtin keyboard and touch pad are the only input device, beware that doing so might leave your computer in an inoperable state unless hard reboot when the second command failes.
To reload the kernel module without reboot, run
# rmmod hid_apple && modprobe hid_apple
Magic Keyboard does not connect
If you have a magic keyboard that will not connect to the system through the built in tools, such as the Gnome 3 bluetooth menu in settings, install blueman and its dependencies and attempt to connect with it. If it still fails to connect, make sure you have bluetoothctl and hcitool installed.
Enable dvorak/dvp
By default xkb loads translation table (actually called xkb_symbols ) macintosh_vndr/us for macintosh keyboard:
$ setxkbmap -print -verbose 10 | grep symbols
This translation table located in /usr/share/X11/xkb/symbols/macintosh_vndr/us and do not contains dvorak/dvp layout. You can use default translation table from /usr/share/X11/xkb/symbols/us and add command setxkbmap in your .profile for forced loading layout:
# mv /usr/share/X11/xkb/symbols/macintosh_vndr/us /usr/share/X11/xkb/symbols/macintosh_vndr/us.back # cp /usr/share/X11/xkb/symbols/us /usr/share/X11/xkb/symbols/macintosh_vndr/us $ echo "setxkbmap -v 10 -layout us -variant dvp" >> .xprofile
No input during root disk decryption
You may have to manually add the hid_apple module to the mkinitcpio configuration:
Or place the keyboard hook before autodetect so that all keyboard drivers are included:
HOOKS=(. keyboard autodetect . )
Regenerate the initramfs after doing either of these.
See also