Ключ тильды на Mac Air с Ubuntu


10

По умолчанию макет на моем Macbook Air не позволяет печатать символы обратной черты (`) и тильды (~). Вместо этого я получаю обратную косую черту, трубу или что-то еще, в зависимости от расположения.

Я изменил поведение клавиши, которую хочу использовать для печати тильды, используя следующие команды:

xev
<press tilde button>
keycode <keycode from xev output> = grave asciitilde >~/.Xmodmap
xmodmap ~/.xmodmaprc 

(инструкции основаны на этих /programming/17757232/switch-tab-and-backtick-keys-ubuntu-linux )

Но, к сожалению, после переключения макета я снова получаю поведение по умолчанию.

Как сделать эти изменения постоянными?


Это проблема, я тоже ищу простое решение. Просто добавлю, проблема в том, что в Ubuntu 14.04 xmodmap больше не работает. Его изменения периодически перезаписываются (через несколько минут в моем случае) xkb. Я не эксперт в этом и все еще ищу решение. Это просто чтобы сообщить вам причину этой проблемы.
Вооз Римланд

@ BoazRymland Я решил проблему сам, просто забыл сообщить. Вы можете найти решение ниже, надеюсь, оно вам тоже поможет.
Тимофей

Спасибо! Я попробую это позже. Мне не нравится идея редактирования системного файла (или файлов, которые подозреваются как таковые, из-за недостатка знаний), но мне любопытно и я хочу решить эту проблему. Еще раз спасибо!
Вооз Римланд

У меня даже нет кнопки тильды на финской клавиатуре Macbook.
Ярно

Ответы:


22

Решение, которое сработало для Тимофея, почему-то не сработало. Тем не менее, решение, которое действительно работало, состояло в том, чтобы поставить линию

echo 0 > /sys/module/hid_apple/parameters/iso_layout

в /etc/rc.local.

Это предложение приходит отсюда:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1245081

через

https://stdio.sangwhan.com/backtick-tilde-problem-macbook-air/


3
также работает в 16.04
Ричард Франк

Также работает на MacBook Pro
Lambart

Работает на Macbook Pro 12,1 с Debian
Джереми

1
Это давнее решение необъяснимым образом перестало работать на меня. Я больше не могу редактировать этот файл, и поэтому размещение кода в rc.localнем не имеет никакого эффекта. Кто-нибудь еще сталкивался с этой проблемой?
Csteele5

6

Хорошо, я решил проблему.

Во-первых, xmodmaprcне работает в Ubuntu 14.04. Решение состоит в том, чтобы редактировать xkb(расширение X KeyBoard) файлы конфигурации.

Найдите файл /usr/share/X11/xkb/symbols/pc, сделайте резервную копию, затем откройте и закомментируйте строку:

key <LSGT> {    [ less, greater, bar, brokenbar ] };

А в следующей строке добавьте следующее:

key <LSGT> { [ grave, asciitilde, grave, asciitilde ] };

Если вам нужно изменить конфигурацию для другой локали, проверьте папку /usr/share/X11/xkb/symbols/и найдите файл, соответствующий локали, которую вы хотите изменить.

Чтобы применить изменения, вы должны удалить все файлы кэша xkb:

rm -rf /var/lib/xkb/*

работает после перезагрузки. Работает как на Ubuntu 16.04LTS, так и на элементарном OS
Каджал Синха,

1
Это более правильный ответ, чем @ yasmar, поскольку он исправляет конфигурацию системы, а не переопределяет ее после применения.
bschlueter

0

Другое решение, которое работает как непривилегированный пользователь:

setxkbmap -option apple:badmap

Как привилегированный пользователь это также может быть использовано для исправления проблемы в конфигурации X клавиатуры устройства с помощью чего-то вроде:

# /etc/X11/xorg.conf.d/90-custom-kbd.conf
Section "InputClass"
    Identifier "keyboard defaults"
    MatchIsKeyboard "on"

    Option "XKbOptions" "apple:badmap"
EndSection

0

В Ubuntu 16.04 с клавиатурой Mac вы сможете получить символ тильды, нажав правую клавишу Alt +].

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.