3

Я только что установил Fedora 24 с настольным компьютером Cinnamon на MacBook Pro, и у меня возникли проблемы с клавиатурой.

Когда я нажимаю клавишу прямо над вкладкой, которая должна быть `и ~, я вместо этого получаю <и>. Все остальные клавиатуры на моей клавиатуре работают правильно.

Я пробовал следующие макеты, и это то, что они отображаются без и с клавишей Shift:

  • Английский (США)
    • Печать <и>
  • Английский (США, альтернативный международный)
    • Принты \ и |
  • Английский (США международный с мертвыми ключами)
    • Отпечатки \ и | `и ~
  • Английский (Macintosh)
    • Отпечатки § и ±

Кто-нибудь знает, как получить ключ для правильного отображения `и ~

Изменить: вывод из localectl и setxkbmap

$ localectl
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
$ setxkbmap -print
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)"    };
    xkb_types     { include "complete"    };
    xkb_compat    { include "complete"    };
    xkb_symbols   { include "pc+us+inet(evdev)"    };
    xkb_geometry  { include "pc(pc105)"    };
};

1 ответ1

4

Это может быть известной ошибкой (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.SE, 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 (или убедить их использовать выбранные вами настройки).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .