Tilde key on Mac Air with Ubuntu
By default, no layout on my Macbook Air allows me to print backtick (`) and tilde (~) symbols. Instead, I get backslash, pipe or whatever, depending from the layout.
I changed the behavior of the key that I want to use to print tilde using the following commands:
xev
<press tilde button>
keycode <keycode from xev output> = grave asciitilde >~/.Xmodmap
xmodmap ~/.xmodmaprc
(instructions are based on these https://stackoverflow.com/questions/17757232/switch-tab-and-backtick-keys-ubuntu-linux)
But unfortunately, after I switch the layout, I get the default behavior again.
How to make these changes permanent?
Solution 1:
The solution that worked for Timofey did not work for me for some reason. However, a solution which did work was to put the line
echo 0 > /sys/module/hid_apple/parameters/iso_layout
into /etc/rc.local
.
This suggestion comes from here:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1245081
via
https://stdio.sangwhan.com/backtick-tilde-problem-macbook-air/
Solution 2:
Okay, I solved the problem.
First off, xmodmaprc
doesn't work in Ubuntu 14.04.
The solution is to edit xkb
(X KeyBoard extension) config files.
Find the file /usr/share/X11/xkb/symbols/pc
, backup it, then open and comment out the line:
key <LSGT> { [ less, greater, bar, brokenbar ] };
And on the next line, add the following:
key <LSGT> { [ grave, asciitilde, grave, asciitilde ] };
If you need to change configuration for another locale, check the folder /usr/share/X11/xkb/symbols/
and find the file corresponding to the locale you want to change.
To apply the changes, you have to remove all xkb cache files:
rm -rf /var/lib/xkb/*
Solution 3:
Another solution which works as an unpriviledged user is:
setxkbmap -option apple:badmap
As a priviledged user this can also be used to fix the issue in the X config of the keyboard device with something like:
# /etc/X11/xorg.conf.d/90-custom-kbd.conf
Section "InputClass"
Identifier "keyboard defaults"
MatchIsKeyboard "on"
Option "XKbOptions" "apple:badmap"
EndSection
Solution 4:
On Ubuntu 16.04 with a Mac keyboard you should be able to get a tilde symbol by pressing Right Alt + ] key.