我在 HP 笔记本电脑上运行 16.04 版本。在 14.04 版本中,该prntscrn
按钮可以正常工作(按下它可以截取整个屏幕的屏幕截图,按下它shift + prntscrn
可以截取选定区域的部分屏幕截图等)。自从升级到 16.04 版本后,我就无法让它工作了根本。
所有快捷方式均设置正确,一切正常。
gnome-screenshot
是已安装,并且如果我将其输入到终端中它就可以工作。
xev
显示按下+释放prntscrn
按钮的情况:
KeyPress event, serial 37, synthetic NO, window 0x4400001,
root 0x2c2, subw 0x0, time 5325568, (-443,285), root:(346,337),
state 0x10, keycode 218 (keysym 0xff61, Print), same_screen YES,
XKeysymToKeycode returns keycode: 107
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4400001,
root 0x2c2, subw 0x0, time 5325759, (-443,285), root:(346,337),
state 0x10, keycode 218 (keysym 0xff61, Print), same_screen YES,
XKeysymToKeycode returns keycode: 107
XLookupString gives 0 bytes:
XFilterEvent returns: False
为了进行比较,它显示了按下 + 释放F12
按钮的情况(效果很好):
KeyPress event, serial 37, synthetic NO, window 0x4600001,
root 0x2c2, subw 0x0, time 5433196, (-509,256), root:(280,308),
state 0x10, keycode 96 (keysym 0xffc9, F12), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 37, synthetic NO, window 0x4600001,
root 0x2c2, subw 0x0, time 5433406, (-509,256), root:(280,308),
state 0x10, keycode 96 (keysym 0xffc9, F12), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
答案1
我找到了解决方案这里:
我从 xev 输出中注意到,在 HP Pavilion 上按下 prt sc 会返回两个不同的代码:218(按键本身的代码),而 XKeysymToKeycode 返回 107。
我使用 xmodmap -pke 查看了按键映射,发现有 107 绑定到 Print 操作,但没有 218 键码的绑定。因此,我只需添加键码 218 的绑定:
xmodmap -e "keycode 218 = Print"
然后从 107 键码中删除绑定
xmodmap -e "keycode 107 = "
此后,一切都开始正常运转。希望我能够帮助到一些人。