Очень странная проблема сегодня. Я собирался опубликовать тему о другой проблеме и хотел сделать скриншот окна терминала. Я все подготовил, нажал Alt kbd> + Printscreen kbd> и ничего не произошло.
Я вошел в «Сочетания клавиш», чтобы проверить, работает ли переопределение сочетания клавиш. Это сделал. Я попытался установить его обратно в Alt kbd> + Printscreen kbd>, но окно просто сидело там, слушая нажатие клавиши. Как будто я никогда не нажимал клавишу.
Клавиши Alt kbd> и Printscreen kbd> работают независимо друг от друга просто отлично ... Я также попытался посмотреть на вывод xev
, когда я нажимаю ключи. Он слышит нажатие Alt, но не слышит экран печати.
Я пробовал это как в Compiz, так и в простом метасити. У меня также есть запасная клавиатура, и она показывает идентичное поведение (одна клавиатура - PS / 2, запасная - USB - поэтому не проблема с портом).
Как будто что-то сидит в цепочке событий, плюет на событие, чтобы ничто другое не могло его услышать. Мой вопрос в основном: как вы можете найти процессы, реагирующие на определенные события?
В соответствии с просьбой:
oli@bert:~$ xmodmap -pke | grep -i mode
keycode 82 = KP_Subtract XF86_Prev_VMode KP_Subtract XF86_Prev_VMode
keycode 86 = KP_Add XF86_Next_VMode KP_Add XF86_Next_VMode
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 203 = Mode_switch NoSymbol Mode_switch
И
oli@bert:~$ xmodmap -pke | grep -i print
keycode 107 = Print Sys_Req Print Sys_Req
keycode 218 = Print NoSymbol Print
Редактировать: [ 1112] Когда я писал это, я был на Lucid с самодельным ядром 2.6.35. Оказывается, моя проблема связана с ядром, а не с X.
Кто-то где-то решил, что alt-printscreen должен обработать событие SysRq. С технической точки зрения, возможно, так и должно быть, но это ломает то, что должно быть за десятилетие «известного поведения» Linux и Windows.
Согласно моим изменениям, это напрямую связано с версией ядра 2.6.35 (и, возможно, последующими ядрами), при которой alt + prscr отображает событие sysrq.
SysRq, кажется, не может быть привязан (по крайней мере, из-за того, что я возился), но вы можете отключить новое глупое поведение, добавив следующее в /etc/sysctl.conf
:
kernel.sysrq = 0
Поскольку вы указываете, что PrintScreen работает, а alt + printscreen - нет, это может быть связано с отображением вашего модификатора.
Если у вас есть 2 клавиши Alt, можете ли вы попробовать оба и посмотреть, одинаковое ли поведение?
Кроме того, можете ли вы запустить команду xmodmap -pke | grep -i mode
в терминале и проверить, не означает ли это, что одна из клавиш Alt отображается как клавиша «Переключатель режима»? Обычно вы видите 1 или более строк клавиатуры, содержащих коды, назначенные клавише переключения режимов.
Также запустите xmodmap -pke | grep -i print
в терминале и посмотрите, совпадают ли коды, напечатанные справа от знака равенства, со строкой ниже.
keycode 107 = Print Sys_Req Print Sys_Req
См. на этой странице для объяснения синтаксиса строки keysym.
Сообщается об ошибке. https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/642792
Вы пробовали использовать только Print Screen? Я никогда не слышал об использовании Alt с ним.