Как использовать Mode_switch и xmodmap в текущих версиях Ubuntu?

В течение многих лет я использовал следующий файл ~/.Xmodmap, чтобы быстро получить немецкие умлауты, например. когда я нажимаю ALT_R + a, я получаю ä. Хороший ярлык по сравнению с использованием ключа компоновки:

keycode 108 = Mode_switch keycode 38 = a A adiaeresis Adiaeresis adiaeresis Adiaeresis keycode 30 = u U udiaeresis Udiaeresis udiaeresis Udiaeresis keycode 32 = o O odiaeresis Odiaeresis odiaeresis Odiaeresis keycode 39 = s S ssharp ssharp ssharp ssharp keycode 20 = minus underscore endash endash endash endash keycode 60 = period greater ellipsis ellipsis ellipsis ellipsis keycode 61 = slash question emdash emdash emdash emdash

Примечание. Я использую Happy Hacker Keyboard, у которой нет клавиши ALT_GR. [F6] отправляется правой клавишей ALT, а Mode_switch в целом соответствует второму и третьему значениям выше.

Начиная с 17.10 все комбинации приводят только к предупреждающему звуку, больше ничего не происходит. Я заметил то же самое на Fedora 27, так что, возможно, это связано с новыми настройками Happy Hacker Keyboard и / или Gnome Shell?

Любые идеи, как я могу архивировать это при текущих настройках Gnome Shell ?

1
задан 16 February 2018 в 21:22

2 ответа

Спасибо Gunnar Hjalmarsson, я нашел достаточно информации в этом ответе. Вот что я сделал:

Чтобы включить некоторые новые настройки клавиш, я добавил это в конец /usr/share/X11/xkb/symbols/us:

partial alphanumeric_keys xkb_symbols "us-de" { // include all the definitions from us(basic), I just want to add to it include "us(basic)" name[Group1]= "English (US, with german umlauts)"; // add german umlauts key <AC01> { [ a, A, adiaeresis, Adiaeresis ] }; key <AD07> { [ u, U, udiaeresis, Udiaeresis ] }; key <AD09> { [ o, O, odiaeresis, Odiaeresis ] }; key <AC02> { [ s, S, ssharp, ssharp ] }; // and some other keys key <AE11> { [ minus, underscore, endash, endash ] }; key <AB09> { [ period, greater, ellipsis, ellipsis ] }; key <AB10> { [ slash, question, emdash, emdash ] }; // have ALT_R as level 3 switch include "level3(ralt_switch)" };

И чтобы иметь вариант, который я могу выбрать из настроек > Region & amp; Язык, я добавил следующее в конец вариантаList для English (US) в этом файле XML /usr/share/X11/xkb/rules/evdev.xml:

<variant> <configItem> <name>us-de</name> <description>English (US, with german umlauts)</description> </configItem> </variant>

После sudo systemctl restart keyboard-setup.service я мог выбрать новый вариант макета из Настройки> Region & amp; Язык .

0
ответ дан 17 July 2018 в 20:40

Спасибо Gunnar Hjalmarsson, я нашел достаточно информации в этом ответе. Вот что я сделал:

Чтобы включить некоторые новые настройки клавиш, я добавил это в конец /usr/share/X11/xkb/symbols/us:

partial alphanumeric_keys xkb_symbols "us-de" { // include all the definitions from us(basic), I just want to add to it include "us(basic)" name[Group1]= "English (US, with german umlauts)"; // add german umlauts key <AC01> { [ a, A, adiaeresis, Adiaeresis ] }; key <AD07> { [ u, U, udiaeresis, Udiaeresis ] }; key <AD09> { [ o, O, odiaeresis, Odiaeresis ] }; key <AC02> { [ s, S, ssharp, ssharp ] }; // and some other keys key <AE11> { [ minus, underscore, endash, endash ] }; key <AB09> { [ period, greater, ellipsis, ellipsis ] }; key <AB10> { [ slash, question, emdash, emdash ] }; // have ALT_R as level 3 switch include "level3(ralt_switch)" };

И чтобы иметь вариант, который я могу выбрать из настроек > Region & amp; Язык, я добавил следующее в конец вариантаList для English (US) в этом файле XML /usr/share/X11/xkb/rules/evdev.xml:

<variant> <configItem> <name>us-de</name> <description>English (US, with german umlauts)</description> </configItem> </variant>

После sudo systemctl restart keyboard-setup.service я мог выбрать новый вариант макета из Настройки> Region & amp; Язык .

0
ответ дан 23 July 2018 в 21:19

Другие вопросы по тегам:

Похожие вопросы: