Tilde key on Mac Air with Ubuntu

16,094

Solution 1

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 2

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 3

On Ubuntu 16.04 with a Mac keyboard you should be able to get a tilde symbol by pressing Right Alt + ] key.

Solution 4

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
Share:
16,094

Related videos on Youtube

Timofey
Author by

Timofey

Updated on September 18, 2022

Comments

  • Timofey
    Timofey over 1 year

    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?

    • Admin
      Admin over 9 years
      This is a problem I'm searching a simple solution for too. Just to add, the issue is that with Ubuntu 14.04 xmodmap is no longer functional. Its changes gets overwritten periodically (after a few minutes in my case) by xkb. I'm not an expert on this and still searching for a solution as well. This is just to inform you of the reason for this problem.
    • Admin
      Admin over 9 years
      @BoazRymland I solved the problem myself, just forgot to report. You may find the solution below, hope it helps you as well.
    • Admin
      Admin over 9 years
      thanks! I'll try it later. I don't like the idea of editing system file (or files that are suspected as such, with lack of knowing better) but I'm curious and want to resolve this. Thanks again!
    • Admin
      Admin over 6 years
      I don't even have tilde button on my Macbook Finnish keyboard.
  • Lambart
    Lambart over 7 years
    Also works on MacBook Pro
  • jeremy
    jeremy over 7 years
    Works on Macbook Pro 12,1 w/ debian
  • Kajal Sinha
    Kajal Sinha over 7 years
    works after a reboot. Works on ubuntu 16.04LTS as well as on elementaryOS
  • Csteele5
    Csteele5 about 7 years
    This long-established solution inexplicably stopped working for me. I'm no longer able to edit this file, and so placing the code into the rc.local has no effect. Has anyone else run into this issue?
  • bschlueter
    bschlueter almost 7 years
    This is a more correct answer than @yasmar's as it corrects the system cofiguration rather than overriding it after it's applied.
  • hsandt
    hsandt over 3 years
    Wow, I found it on a French Apple keyboard where you normally press Alt + N on OSX. I don't have any ], but it worked with Right Alt + N (but not Left Alt + N!)
  • Sebastian Sastre
    Sebastian Sastre about 2 years
    None of the other solutions worked for me. This one did. I'm on a MBP late 2015 with US keyboard fixing Ubuntu 20.04 LTS running with Parallels Desktop 17.