Я пытаюсь изменить одну комбинацию клавиш с помощью xmodmap
. AltGr kbd> + P kbd> выводит þ
, но я бы хотел изменить его на выход '
.
xmodmap -pm
выводит:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Кажется, я не могу прикрепить Alt_R
как один из модификаторов (если его нет как ISO_Level3_Shift
или Mode_switch
). Вот что показывает xev
:
# - p
KeyRelease event, serial 41, synthetic NO, window 0x4800001,
root 0x2b8, subw 0x0, time 194353, (300,-235), root:(366,280),
state 0x10, keycode 33 (keysym 0x70, p), same_screen YES,
XLookupString gives 1 bytes: (70) "p"
XFilterEvent returns: False
# - altgr
KeyRelease event, serial 41, synthetic NO, window 0x4800001,
root 0x2b8, subw 0x0, time 216040, (249,-329), root:(315,186),
state 0x90, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XFilterEvent returns: False
# - altgr+p
KeyPress event, serial 41, synthetic NO, window 0x4800001,
root 0x2b8, subw 0x0, time 230879, (218,-187), root:(284,328),
state 0x90, keycode 33 (keysym 0xfe, thorn), same_screen YES,
XLookupString gives 2 bytes: (c3 be) "þ"
XmbLookupString gives 2 bytes: (c3 be) "þ"
XFilterEvent returns: False
Всякий раз, когда я пытался изменить привязку, он либо добавляет '
вместо p
, либо комбинация ничего не делает.
Обновление:
В настоящее время отображается апостроф, когда я нажимаю AltGr kbd> + J kbd>.
Обновление 2:
xmodmap -e "keysym THORN = apostrophe"
изменяет P kbd> на '
, даже если xev выдает THORN
после нажатия AltGr kbd > + P kbd>
См. Выходные данные xmodmap -pke
, чтобы понять, как назначаются «значения» клавиш. Например, по умолчанию, если вы используете английскую (британскую) раскладку клавиатуры, xmodmap -pke | grep "thorn"
вернет:
keycode 33 = p P p P section NoSymbol Greek_pi Greek_PI U03E1 U03E0 p P thorn THORN
При этом, предполагая, что вы используете английскую (британскую) раскладку клавиатуры, используйте Следующая команда для ввода апострофа при нажатии AltGr kbd> + P kbd>:
xmodmap -e "keycode 33 = p P p P section NoSymbol Greek_pi Greek_PI U03E1 U03E0 p P apostrophe quotedbl"
Чтобы получить это изменение для каждой сессии, создайте файл с именем .xmodmap
, с помощью следующей команды:
xmodmap -pke > .xmodmap
Затем создайте файл с именем .xinitrc
в вашем домашнем каталоге, содержащий следующую строку / команду:
xmodmap .xmodmap