我的/proc/sys/kernel/sysrq
包含数字 502,但 Alt+SysRq+... 似乎不适用于我的 HP Pavilion 笔记本电脑。我该如何解决这个问题?
更新 1:顺便说一句:我的打印屏幕键和任何其他键都没有像“SysRq”这样的附加标签。
更新2:
- 硬件型号:HP Pavilion 17 笔记本电脑
- 键盘布局:德语、QWERTZ
答案1
大多数笔记本电脑都需要按下Fn才能获取SysRq密钥。按Fn通常不会影响该Alt键(至少是左边的键),但可能会影响您在 后按的字母SysRq。幸运的是,你不需要SysRq和第三个键一起按,按住就足够了Alt。以下顺序适用于我见过的所有笔记本电脑:
- 按下并按住不动Alt。
- 按Fn,按下SysRq键,然后松开两者。
- 简短地输入字母或标点符号键,例如S用于同步。
- 发布Alt。
该SysRq密钥通常与 相同PrintScreen。如果您的键盘没有标有SysRq或 的键PrintScreen,则可能没有发送 Linux 所需的扫描代码的键。对于神奇的 SysRq 来说,该SysRq键是发送扫描码 99 的键。
使用 PS/2 键盘(包括笔记本电脑的内置键盘),要了解按键发送的扫描代码,请登录文本控制台(按Ctrl+ Alt+F1切换到文本控制台,通常Ctrl按 + Alt+F7返回 GUI ),然后运行命令showkey -s
。showkey -s
在您键入时显示每个键的扫描码。通常,一个字节(两个十六进制数字)表示按键按下,然后另一个字节表示按键释放。对于一些键,您将获得一个由两个以 开头的字节组成的字节序列e0
。按您感兴趣的键,然后等待 10 秒钟,然后showkey
退出。
现在您已经识别了扫描代码,请运行setkeycodes … 99
以 root 身份将该扫描代码分配给键代码 99。例如,如果showkey -s
打印0xe0 0x6f 0xe0 0xef
您选择的键,请运行setkeycodes e06f 99
。
要使此更改永久生效,请将setkeycodes
命令添加到/etc/rc.local
,或配置 udev 以更改键码映射。配置 udev 是 USB 键盘的唯一解决方案,setkeycodes
不会影响 USB 键盘。
答案2
我一直在使用较新的 HP pavilion 笔记本电脑,同样的问题。对我有用的是按 AltGr 键和 printscreen 键