Изменение макета клавиатуры в Wayland

Мой ноутбук поставляется с ключом PrintScreen (справа от KB между Alt_R и Control_R). В Xorg я использовал xmodmap для замены принт-экрана с помощью клавиши меню:

/ usr / bin / xmodmap -e "keycode 107 = Меню"

Проблема в том, что xmodmap , xdotool и все остальное, что полагается на перехват и инъекцию нажатий клавиш, больше не работает на Wayland из-за ограничений безопасности. В gnome-tweak-инструменте были (из коробки) несколько отличных модификаций на основе xkb, которые позволяли заменять некоторые определенные ключи (например, caplock with escape), но у меня не было той модификации, которую я искал.

Мне было интересно, есть ли способ заменить printscr для клавиши меню, изменив файлы раскладки клавиатуры? Являются ли они текстовыми файлами или являются их двоичными файлами, которые мне пришлось бы перекомпилировать?

В / usr / bin есть установочные коды и getkeycodes, кто-нибудь знает, что делают эти команды?

2
задан 3 January 2018 в 10:36

3 ответа

Да, возможно изменить файлы XKB. Я предполагаю, что нижняя часть файла /usr/share/X11/xkb/symbols/altwin может дать вам подсказку для вашего случая - если опция XKB altwin:prtsc_rwin не делает то, что вы хотите.

Дополнительная информация

В терминале введите:

sudo su
nano /usr/share/X11/xkb/symbols/altwin

В нижней части файла вы найдете:

// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
    replace key <PRSC> { [ Super_R, Super_R ] };
    modifier_map Mod4 { <PRSC>, <RWIN> };
};

Удалите этот раздел и замените его на это:

// Menu is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Menu, Menu ] };
     modifier_map Mod4 { <PRSC>, <MENU> };
};

Чтобы удалить в nano, используйте клавишу backspace (выделение и удаление не работают). Чтобы вставить, используйте shift-ctrl-v. Чтобы выйти и сохранить, нажмите ctrl-x, выберите «Да», чтобы перезаписать и нажмите «Ввод».

Перезагрузка. В Gnome / Ubuntu Перейдите в gnome-tweak-tools. В инструментах настройки перейдите к Keyboard & amp; Мышь, нажмите кнопку «Дополнительные параметры макета» и разверните поведение клавиши Alt / Win. Выбрав опцию в самом низу: Win сопоставляется с printscr (помните, что мы изменили именно это поведение, чтобы поменять печать и меню вместо печати и Win). (Я уверен, что есть способ включить модифицированную опцию xkb в KDE, но я ее не использую, поэтому я не могу дать вам точную процедуру).

2
ответ дан 22 May 2018 в 15:47
  • 1
    Ты серьезно мой герой! :) Не возражаете, если я отредактирую ваш ответ, чтобы расширить его? – thebunnyrules 4 January 2018 в 07:04
  • 2
    @ thebunnyrules: Отлично! Нет, конечно, я не против. Я был расплывчатым просто потому, что не был уверен ... – Gunnar Hjalmarsson 4 January 2018 в 07:05
  • 3
    Готово. Я поддержал и отметил его как принятый ответ. Я думаю, вам нужно разрешить редактирование для него. Еще раз спасибо, что доступ к этой кнопке имеет большое значение для меня, когда я печатаю. – thebunnyrules 4 January 2018 в 07:21
  • 4
    @ thebunnyrules: Edits одобрены. Спасибо, что нашли время, чтобы поделиться подробным решением! – Gunnar Hjalmarsson 4 January 2018 в 07:26
  • 5
    @ thebunnyrules знают, что это редактирование относится к системному файлу и будет перезаписано обновлениями пакета xkb-data. держите подпорку под рукой! – quixotic 4 January 2018 в 11:57

Да, возможно изменить файлы XKB. Я предполагаю, что нижняя часть файла /usr/share/X11/xkb/symbols/altwin может дать вам подсказку для вашего случая - если опция XKB altwin:prtsc_rwin не делает то, что вы хотите.

Дополнительная информация

В терминале введите:

sudo su nano /usr/share/X11/xkb/symbols/altwin

В нижней части файла вы найдете:

// Win is mapped to the PrtSc key (and the usual Win key). partial modifier_keys xkb_symbols "prtsc_rwin" { replace key <PRSC> { [ Super_R, Super_R ] }; modifier_map Mod4 { <PRSC>, <RWIN> }; };

Удалите этот раздел и замените его на это:

// Menu is mapped to the PrtSc key (and the usual Win key). partial modifier_keys xkb_symbols "prtsc_rwin" { replace key <PRSC> { [ Menu, Menu ] }; modifier_map Mod4 { <PRSC>, <MENU> }; };

Чтобы удалить в nano, используйте клавишу backspace (выделение и удаление не работают). Чтобы вставить, используйте shift-ctrl-v. Чтобы выйти и сохранить, нажмите ctrl-x, выберите «Да», чтобы перезаписать и нажмите «Ввод».

Перезагрузка. В Gnome / Ubuntu Перейдите в gnome-tweak-tools. В инструментах настройки перейдите к Keyboard & amp; Мышь, нажмите кнопку «Дополнительные параметры макета» и разверните поведение клавиши Alt / Win. Выбрав опцию в самом низу: Win сопоставляется с printscr (помните, что мы изменили именно это поведение, чтобы поменять печать и меню вместо печати и Win). (Я уверен, что есть способ включить модифицированную опцию xkb в KDE, но я ее не использую, поэтому я не могу дать вам точную процедуру).

2
ответ дан 17 July 2018 в 23:59

Да, возможно изменить файлы XKB. Я предполагаю, что нижняя часть файла /usr/share/X11/xkb/symbols/altwin может дать вам подсказку для вашего случая - если опция XKB altwin:prtsc_rwin не делает то, что вы хотите.

Дополнительная информация

В терминале введите:

sudo su nano /usr/share/X11/xkb/symbols/altwin

В нижней части файла вы найдете:

// Win is mapped to the PrtSc key (and the usual Win key). partial modifier_keys xkb_symbols "prtsc_rwin" { replace key <PRSC> { [ Super_R, Super_R ] }; modifier_map Mod4 { <PRSC>, <RWIN> }; };

Удалите этот раздел и замените его на это:

// Menu is mapped to the PrtSc key (and the usual Win key). partial modifier_keys xkb_symbols "prtsc_rwin" { replace key <PRSC> { [ Menu, Menu ] }; modifier_map Mod4 { <PRSC>, <MENU> }; };

Чтобы удалить в nano, используйте клавишу backspace (выделение и удаление не работают). Чтобы вставить, используйте shift-ctrl-v. Чтобы выйти и сохранить, нажмите ctrl-x, выберите «Да», чтобы перезаписать и нажмите «Ввод».

Перезагрузка. В Gnome / Ubuntu Перейдите в gnome-tweak-tools. В инструментах настройки перейдите к Keyboard & amp; Мышь, нажмите кнопку «Дополнительные параметры макета» и разверните поведение клавиши Alt / Win. Выбрав опцию в самом низу: Win сопоставляется с printscr (помните, что мы изменили именно это поведение, чтобы поменять печать и меню вместо печати и Win). (Я уверен, что есть способ включить модифицированную опцию xkb в KDE, но я ее не использую, поэтому я не могу дать вам точную процедуру).

2
ответ дан 24 July 2018 в 17:08

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

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