Alt + Printscreen停止工作,如何查找监听事件的进程
今天非常奇怪的问题。 我打算发布关于另一个问题的post,并希望截取终端窗口的截图。 我把它全部准备好了,点击Alt + Printscreen ,什么都没发生。
我进入了键盘快捷键,看看是否重新定义了快捷方式。 它做了。 我试着将它设置回Alt + Printscreen,但窗口只是坐在那里听按键。 好像我从来没有按过钥匙。
Alt和Printscreen键都可以独立工作……当我按下键时,我也尝试查看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。