Я хочу перемешать несколько ключей с помощью XKB. (Почему? На ноутбуке, где некоторые клавиши расположены неудобно.) В настоящее время я использую xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Вместо этого я хочу использовать XKB и назначать разные символические имена для определенных физических ключей, а не назначать разные ключевые символы для определенных кодов клавиш. ( Вот почему.) Я хочу, чтобы код клавиши 110 отправлялся PGUP
вместо HOME
, код 115 отправлялся DELE
вместо END
, и т. Д. На остальную конфигурацию не должны влиять (то PGUP
есть продолжать посылать ключ Prior
и т. Д., И все остальные ключи остаются как они есть).
Как я могу изменить назначение этих конкретных кодов клавиш? Я загружу файл xkbcomp somefile.xkb $DISPLAY
, что мне нужно вставить в somefile.xkb
?
источник
-I
коммутатор! Спасибо, я не смог понять это на странице руководства.Вы можете начать с того,
setxkbmap -print > somefile.xkb
чтобы получить таблицу ключей, которую вы используете в качестве основы, а затем переопределить имена ключей, которые вы хотите, вxkb_keycodes
разделе, например:Это генерирует предупреждения о том, что некоторые имена ключей назначаются несколько раз, но это работает, потому что учитывается только последний (поэтому важно установить пользовательские настройки после включения). И файл имеет то преимущество, что его можно прочитать.
Другой способ - выгрузить используемую вами карту ключей в файл
xkbcomp $DISPLAY somefile.xkb
и изменить те же строки (это та же самая карта ключей с оценками включений). Таким образом, нет предупреждений для нескольких определений, но он менее читабелен.источник
evdev+aliases(azerty)
и т. Д.)? Я явно хочу выполнить относительное изменение, а не полную реконфигурацию. Ключи, отличные от 6, перечисленных в вопросах, не должны быть затронуты, они должны оставаться в том состоянии, в котором они находились, когда я дал команду.setxkbmap -print
, они файлы из/usr/share/X11/xkb/
. Я думаю, что вы должны дать целуюxkbcomp