从笔记本电脑休眠状态恢复后,我的 Fedora 27 进入了一种奇怪的状态:
- 在图形控制台上,不接受任何输入,甚至忽略鼠标活动
- 在文本控制台上,任何键盘输入都以“^[”开头(这会是 CTRL+“Z 后面的 1 个字符吗?”)。因此,当我想登录时,我会看到
^[r^[o^[o^[t
,一旦login
等待输入超时,游戏就结束了:不再有输入。 Capslock LED 不活动,Numlock LED 活动。
我记得在 90 年代在 Sun SPARCstation 的启动屏幕上看到过这个……
究竟发生了什么以及如何修复它(除了重新启动机器)?
编辑:这在相关机器上“仅发生一次”。重新启动后,问题就消失了。这可能是由于硬件故障或任何随机错误造成的。但如果是由于终端 I/O 的一种额外特殊模式,人们想了解更多。
答案1
键盘输入子系统认为您按下了(左或右)⎇ Alt修饰键。如果该修饰符有效,这就是内核的内置终端仿真器转换键的方式。 GUI 显然认为您正在执行⎇ Alt修改后的鼠标手势和击键。
如果由于某种原因修改键的特定释放事件丢失,发送显式按下和释放事件的键盘设备(如 PS/2 键盘设备)可能会导致此状态,这很可能是因为您正在休眠系统而发生的。 (对于 USB 键盘,此问题稍微难以创建;因为 USB 键盘 HID 发送键盘上所有按键的瞬时状态的编码,而不是按下和释放事件,因此任何键盘状态更改都会发出修改键的信号不再受压。)
在这种情况下重新启动是多余的。人们只需再次按下并释放修饰键即可使键盘输入子系统与键盘的实际状态重新同步。