Добрых суток, товарищи.
Делаю я так:
$ xmodmap
xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
$ xmodmap -e 'clear mod4'
$ xmodmap -e 'keycode 135 = Meta_R' # это клавиша Menu, но это не принциапиально
$ xmodmap -e 'add mod4 = Meta_R'
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 11
Current serial number in output stream: 11
Вместе с этим то же самое, но с Super или Hyper вместо Meta дает рабочий результат:
$ xmodmap -e 'clear mod4'
$ xmodmap -e 'keycode 135 = Super_R'
$ xmodmap -e 'add mod4 = Super_R'
Поясните, пожалуйста, в чем тут собака зарыта? Я всегда думал, эти Meta_R / Super_R никакого скрытого смысла не несут, что это просто переменные. Отчего разница?
Debian GNU/Linux Wheezy. x11-xserver-utils
версии 7.7~3
.