Сопоставить правый alt с левым элементом управления

sigh неважно. Я могу подтвердить, что это действительно работает. Ошибка копирования/вставки в моем манифесте Puppet означала, что я копировал два одинаково названных псевдонима из одного исходного файла. Поэтому, хотя у меня был proot.fish, он определял функцию с именем sroot.

5
25.03.2017, 00:36
2 ответа

Файл кодов клавиш, который вы изменили, представляет собой сопоставление XKB, которое определяет коды символов, используемые в макетах XKB ( ), с помощью кодов клавиш, генерируемых драйвером клавиатуры ядра при нажатии клавиши. Изменение кодов там не меняет код, который генерирует ключ, он меняет код, с которым макет XKB думает, что имеет дело, когда видит измененный символ.

Предполагая, что вы можете вернуть системные файлы XKB в их исходное состояние, способ XKB сделать то, что вы хотите, - это загрузить параметр, который переопределит стандартный макет. Есть существующий параметр ( ctrl: ralt_rctrl ), который близок к тому, что вы хотите:

  # definition in /usr/share/X11/xkb/rules/evdev
  ctrl:rctrl_ralt       =       +ctrl(rctrl_ralt)
  # similar rule for swapped option?
  ctrl:ralt_rctrl       =       +ctrl(ralt_rctrl)

Вы можете загрузить его с помощью setxkbmap :

$ setxkbmap -option ctrl:ralt_rctrl

Если это делает то, что вы хотите, вы можете сделайте его постоянным, добавив эту команду в .xprofile или .xinitrc или сценарий автозапуска вашего оконного менеджера . В GNOME вам могут потребоваться другие шаги.

Если вы по-прежнему предпочитаете переназначать Alt_R как Ctrl_L вместо Ctrl_R, вам нужно создать предложение локального переопределения. Используйте существующий вариант в качестве отправной точки; он находится в / usr / share / X11 / xkb / symbols / ctrl . См. мой ответ суперпользователя о модификациях XKB и некоторые дополнительные ресурсы:

3
27.01.2020, 20:41

Файл / usr / share / X11 / xkb / keycodes / evdev не является "файлом evdev", это один из множество исходных файлов для таблицы перевода X-клавиатуры (xkb). Нет, не загружается при входе в систему. Вместо этого он служит исходным файлом для компилятора xkbcomp , а вывод скомпилированного поля загружается при запуске X-сервера. Вся тема немного сложна, поэтому не вносите изменения случайно и ожидайте, что все заработает. Кроме того, обычный способ создать собственное отображение клавиатуры - это записать новые файлы, а старые оставить на месте. См., Например, Ненадежное руководство по настройке XKB для введения.

Если вы хотите, чтобы ваша правая клавиша alt работала как клавиша управления, лучше оставить эти файлы такими, какие они есть, создайте файл ~ / .Xmodmap со следующими двумя строками

remove mod4 = Alt_R
add control = Alt_R

проверьте, что он работает, посмотрев на xmodmap -pk для старого состояния, затем загрузив его с помощью xmodmap ~ / .Xmodmap , затем снова выполните xmodmap -pk и убедитесь, что это правильно.

В результате правая клавиша alt по-прежнему отображается под собственным кодом клавиши, но рассматривается как модификатор «control», поэтому вы можете использовать ее в сочетании с другими клавишами.

Некоторые менеджеры дисплея загружают ~ / .Xmodmap по умолчанию при входе в систему, некоторые из новых менеджеров дисплея потеряли эту функцию, и вам придется их настроить для этого.

0
27.01.2020, 20:41

Теги

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