Возможно, потому что это - поверхность, экранируя внутреннее ядро от пользователя? Таким образом, ядро было бы жемчугом в оболочке.
Выполните команду xev
. В xev окне нажмите клавишу AltGr. Вы будете видеть что-то как
KeyPress event, serial 29, synthetic NO, window 0x6400001,
root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
Отметьте код клавиши; так как ключ не делает то, что Вы хотите, Вы будете видеть что-то еще (возможно Alt_R
) вместо Mode_switch
. Вы хотите присвоить этот код клавиши Mode_switch
, который является именем X11 AltGr. Поместите следующую команду в названный файл .Xmodmap
(отметьте капитал X
) в Вашем корневом каталоге:
keycode 66 = Mode_switch
Кроме того, Вы, возможно, должны присвоить модификатор Mode_switch
, но если все, это происходит, будет несоответствием кода клавиши то уже будет тот. Посмотрите Установленный ключ для испанской буквы eñe для получения дополнительной информации.
Выполненный xmodmap ~/.Xmodmap
протестировать Ваш файл. Во многих системах, включая Ubuntu 10.04, этот файл загружается автоматически в среде Gnome по умолчанию. На других дистрибутивах или средах, Вы, возможно, должны указать явно, что Вы хотите работать xmodmap ~/.Xmodmap
когда Вы входите в систему.
xev
как Вы предполагаете, это сообщает о коде клавиши 108. Все же строка я скопировал с сетевых работ. Таким образом, это, по-видимому, не имеет никакого отношения к коду клавиши. Я изменил его на 66, только для забавы, и перезагрузил: это все еще работает. Таким образом, я прихожу к заключению, что это не что-то технически точное вообще, но очевидно Heisenbug в Ubuntu. – Alf P. Steinbach 13.11.2011, 01:31