Alt + Printscreen停止工作,如何查找监听事件的进程

今天非常奇怪的问题。 我打算发布关于另一个问题的post,并希望截取终端窗口的截图。 我把它全部准备好了,点击Alt + Printscreen ,什么都没发生。

我进入了键盘快捷键,看看是否重新定义了快捷方式。 它做了。 我试着将它设置回Alt + Printscreen,但窗口只是坐在那里听按键。 好像我从来没有按过钥匙。

AltPrintscreen键都可以独立工作……当我按下键时,我也尝试查看xev的输出。 它听到Alt按,但之后没有听到Printscreen。

我在Compiz和普通的metacity中尝试过这个。 我也有一个备用键盘,显示相同的行为(一个键盘是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 

编辑:当我发布这个时,我在Lucid上有一个自制的2.6.35内核。 事实certificate我的问题与内核而不是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 终端中的xmodmap -pke | grep -i mode并检查是否表示其中一个alt键被映射为“模式切换”键? 通常,您会看到包含分配给模式切换键的代码的1个或多个keysym行。

还运行xmodmap -pke | grep -i print xmodmap -pke | grep -i print在终端中xmodmap -pke | grep -i print并查看打印在等号右侧的代码是否与下面的行匹配。

 keycode 107 = Print Sys_Req Print Sys_Req 

有关keysym行语法的说明,请参阅此页面 。

你尝试过使用Print Screen吗? 我从来没有听说过使用Alt。