это может быть известная ошибка (redhat,ubuntu,askubuntu). Обходной путь от этих ошибок:
echo 0 > /sys/module/hid_apple/parameters/iso_layout
попробуйте запустить эту команду для тестирования (возможно, вам придется обернуть ее sudo sh -c "echo..."
, чтобы запустить его как root). Если это устраняет проблему, сделайте ее постоянной, поместив ее в rc.local
сценарий (или эквивалент systemd), поэтому он запускается во время загрузки.
если это работает, это должно повлиять на клавиши как в X, так и в консоли окружающая среда. Решение XKB ниже повлияет только на X.
вы также можете исправить это в XKB. В Debian/Ubuntu (и, возможно, других) параметры XKB apple:badmap
и apple:goodmap
существуют для автоматической замены этих ключевых определений. Они могут быть установлены в /etc/default/keyboard
, чтобы вступить в силу по всей системе или использовать с setxkbmap
или утилита настройки клавиатуры вашего DE на уровне пользователя.
эти ответы (в Unix.СЕ, askubuntu) рекомендую внесение изменений в системный файл (/usr/share/X11/xkb/symbols/pc
или /usr/share/X11/xkb/symbols/us
), чтобы изменить mac
вариант.
предложенное изменение позволит загружать соответствующие ключи с помощью setxkbmap -layout us -variant mac
:
orig:
xkb_symbols "mac" {
include "us(basic)"
name[Group1]= "English (Macintosh)";
key.type[group1]="FOUR_LEVEL";
// Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg
key <LSGT> { [ section, plusminus, section, plusminus ] };
key <TLDE> { [ grave, asciitilde, dead_grave, dead_horn ] };
fix: swap key definitions:
key <TLDE> { [ section, plusminus, section, plusminus ] };
key <LSGT> { [ grave, asciitilde, dead_grave, dead_horn ] };
(в моей системе Arch это /usr/share/X11/xkb/symbols/us
; это может выглядеть по-другому, если ваша система имеет его в /usr/share/X11xkb/symbols/pc
, но замена имен ключей должна быть одинаковой.)
если ваша система обновляет базу данных символов XKB, ваши изменения могут быть перезаписаны, и вам нужно будет применить это изменение снова. См.мой ответ на другой вопрос XKB для метода внесения этого изменения в качестве пользовательской настройки.
вам могут понадобиться дополнительные шаги, чтобы отключить настройки клавиатуры GNOME в (или убедить их использовать выбранные вами настройки).