尽管键码显示扫描码,但如何修复与 gnome 桌面不接受键盘输入相关的错误?

Ina*_*ist 5 keyboard virtualbox accessibility xev

在 Win7 X64 主机中的 VirtualBox 4.2.6 下运行 Ubuntu 11.04 x86 来宾。

忍受我......这是一个奇怪的。一旦启动到 Ubuntu,Ubuntu 来宾似乎无法识别键盘输入:登录屏幕、Gnome 终端、gedit 等。我无法使用Alt+Tab在窗口之间切换,无法使用键盘在工作区之间切换。鼠标按预期工作。我无法通过进入虚拟控制台(端子)Ctrl+ Alt+F1通过对F7没有。 但是,键盘在 GRUB 中确实可以工作。

一切正常运行很长时间(在各种版本的 VirtualBox 下使用这个来宾已经一年多了,没有问题 - 至少一周前升级到 VB 4.2.6。)

今天的某个时候,VirtualBox 崩溃了(是的,这种情况偶尔会发生)。我重新启动了来宾,键盘输入不再起作用。这是第一次发生这种情况。

登录屏幕上的虚拟键盘确实有效,登录后,我可以从 VirtualBox 主机剪贴板粘贴文本以在 Gnome 终端 bash shell 中输入命令。

因此,sudo showkey在 Gnome 终端中运行(通过粘贴命令和我的密码)显示当我按下各种键时扫描代码进入来宾:

$ sudo showkey
[sudo] password for inactivist: 
kb mode was RAW
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
keycode  30 press
keycode  30 press
keycode  30 press
keycode  31 press
...
Run Code Online (Sandbox Code Playgroud)

这很奇怪。Ubuntu 客户机中的任何内容都不会对按键或输入做出响应,但是当我在showkey运行时按下键时,系统会看到扫描代码。

我在 Ubuntu 论坛和其他资源上搜索了几个小时,到目前为止我没有发现任何帮助。

这是我在最初的故障排除阶段所做的:

  • 从冷启动重新启动 Windows 7。没变。
  • 使用记录的方法禁用验证慢键(辅助功能选项)。没变。
  • 在主机系统上尝试了不同的键盘。没变。
  • 多次重新安装 VirtualBox Guest Additions(以 root 身份) 没有变化。
  • 在 VirtualBox 中启动了其他来宾 Ubuntu 操作系统实例。键盘在其他客人中工作正常。所以我不认为这是 VirtualBox 主机管道问题。
  • 编辑:并且(根据 ObsessiveSSO?建议)通过以 root 身份运行 /opt/VBoxGuestAdditions-4.2.6/uninstall.sh 并重新启动来卸载 Ubuntu Guest Additions。没变。

我在这里迷路了。我还应该检查什么来诊断 Ubuntu 中这样的键盘问题?我认为这是驱动程序或配置问题。

是否有特定的日志或实用程序可能有助于查明此问题?

Edit1 - F-Lock 键不是问题

更新:更多的搜索揭示了这些资源:

  • 虚拟终端不工作 是否是蹩脚的 F-Lock 键导致问题?不,这是我检查的第一件事,插入没有 F-Lock 键的旧 USB 键盘——没有变化。但它提到evt用于监视事件和其他资源......
  • 讨论 F-Lock 键虚拟终端键损坏的邮件档案...

使用sudo chvt 1,我可以访问虚拟终端并且键盘输入在虚拟终端中工作。也许这是一个 X 键盘映射问题...

Edit2 - xev 现在显示键盘事件

xev显示没有键盘输入事件。奇怪的。

Edit3 - 升级到 12.04 修复了键盘输入,慢键可能会被静默触发

将 VirtualBox 来宾实例“升级”到 12.04(精确)“修复”了该问题。但这并不能告诉我为什么问题首先存在,尽管现在我知道这不是 VirtualBox 问题。

此外,我发现最近的 freedesktop.org 问题Redhat 问题表明慢速键功能可能已在某处静默触发而没有日志条目,并且更改设置以禁用慢速键可能实际上并没有禁用它。调查还在继续……

Edit4 - 验证低级键盘输入

hd /dev/input/by-path/platform-i8042-serio-0-event-kbd当在 Gnome 桌面内按下键时,以 root 身份运行会显示传入的数据。 来源:superuser.com

编辑 5 - /lib/udev/findkeyboards 不显示键盘

Ubuntu的wiki的热键故障排除建议通过步骤5 -每个固定破碎键/usr/share/doc/udev/README.keymap.txt,运行/lib/udev/findkeyboards(如正常用户或根)示出了没有输出(退出时没有消息)。

编辑 6 - 放弃(暂时)

我没有时间弄清楚这一点,所以我将使用 12.04 创建一个新的 VirtualBox 来宾并迁移到该版本。我将保留旧实例以简化过渡。

如果有人发布故障排除建议,我会在我存档的 11.04 Ubuntu 安装上尝试它们,我会在此处报告结果。

感谢您的建议!