@ Ответ Даниила указал мне правильный путь, но я хотел бы остановиться на нем. Р>
Работает для меня в Linux Mint 17.2 и Ubuntu 16.04.
Я пробовал все завихрения, которые я мог придумать, чтобы продолжать использовать xmodmap
, но все они терпят неудачу, когда система переходит в спящий режим. То же самое и для сценариев запуска, которые используют setxkbmap
в тех случаях, когда * settings-daemon (для меня это xfce4) выполняется позже, чем скрипт, и на заказ не может влиять действительно.
Что я, наконец, придумал, имеет следующие ингредиенты:
1) Напишите минимальный файл сопоставления клавиатуры для /usr/share/X11/xkb/symbols
. Позволяет вызвать файл mylayout
. Он может быть таким же простым, как
xkb_symbols "basic" {
name[Group1] = "My Layout";
include "us"
key <AE03> { [ 3, numbersign, sterling, sterling] };
include "level3(ralt_switch)"
}
-
basic
- это просто имя, мы встретим его позже.
-
name[Group1]
аналогично - это просто имя, которое кажется, но оно не будет играть никакой роли позже.
-
include "us"
включает в себя обычную клавиатуру. Фактически us
- это другой файл в том же каталоге. Это клавиатура, которую мы адаптируем. Выберите другой, если необходимо. Примечание: точка с запятой не заканчивается.
- Линия
key
- это одна адаптация клавиатуры, больше может следовать. <AE03>
можно найти в файлах под /usr/share/X11/xkb/keycodes
. Используйте программу xev
, чтобы выяснить, что ключ «3» имеет код ключа 12, а в файле keycodes Xfree86
сопоставляется с <AE03>
.
- Наконец, еще одна директива
include
для активации другой опции клавиатуры, в этом случае я хочу, чтобы правая клавиша Alt была клавишей сдвига уровня 3, то есть ключ, который дает доступ к значению sterling
, определенному мной выше. level3
- это просто имя файла в той же папке с ralt_switch
одной его части. Посмотрите вокруг и выберите то, что вам нужно включить.
2) Я сделал не , помещая mylayout
в системную папку. Скорее я сделал только мягкую ссылку из системной папки в папку по своему вкусу, чтобы сразу увидеть, что это не программное обеспечение для акций.
3) Далее я сделал не исправить evdev.xml
, снова, чтобы предотвратить неприятности обновления. Но это необходимо, чтобы найти mylayout в редакторе конфигурации клавиатуры (для xfce4 это xfce4-keyboard-settings
). Вместо этого я использовал xfce4-settings-editor
и изменил keyboard-layout->XkbLayout
на mylayout
(имя файла) и XkbVariant
на basic
(см. Выше). Впоследствии, mylayout/basic
также отображается в редакторе настроек клавиатуры. Кажется, что запись в evdev.xml
необходима только для выбора макета.
Таким образом, теперь настройки клавиатуры сохраняются в спящем режиме и перезагружаются.
Дополнительную информацию можно найти здесь: Ссылка .
Другой подход к исправлению проблемы в режиме сна (не пробовал себя) можно найти здесь: Ссылка .
UPDATE: работал с Mint 18.3 в тот же момент, когда я изменил настройки в редакторе xfce4-settings, как описано выше.