在 Virtualbox VM 中的 Ubuntu 10.04 中未在 xev 和 showkey -k 中检测到密钥

Som*_*DOS 6 linux keyboard virtualbox ubuntu

我键盘上的问号键不起作用。(“?”)。我尝试使用xevshowkey -k尝试识别至少一个键码并手动使用 xmodmap 来映射它。

不幸的是,这两个实用程序都没有检测到密钥。我在虚拟机 (VirtualBox 3.2.4 r62467) 中使用 Ubuntu 10.04,我的内核是 2.6.32-22-generic。我的主机是 Ubuntu 8.04。

当我xev在我的主机中运行时,我得到:

KeyRelease event, serial 30, synthetic
NO, window 0x3600001,
root 0x5d, subw 0x0, time 19346721, (726,722), root:(730,746),
state 0x2010, keycode 211 (keysym 0x2f, slash), same_screen YES,
XKeysymToKeycode returns keycode: 61
XLookupString gives 1 bytes: (2f) "/"
XFilterEvent returns: False
Run Code Online (Sandbox Code Playgroud)

当我运行时showkey -v

0x59 0xd9

xmodmap -pk 关于来宾中的这个键:

0x002f (slash)  0x003f (question)   0x002f (slash)  0x003f (question)   0x00b0 (degree) 0x00bf (questiondown)
Run Code Online (Sandbox Code Playgroud)

...在主机中:

 0x002f (slash)  0x003f (question)   0x003b (semicolon)  0x003a (colon)  0xfe60 (dead_belowdot)  0xfe56 (dead_abovedot)
Run Code Online (Sandbox Code Playgroud)

但是当我在我的客人上点击它时,它根本不起作用。

Virtualbox 中的一些相关票证:#4957#599#205

这可以是什么?这不是一个特殊的多媒体键,它是一个简单的。我想了解到底发生了什么,所以至少我可以尝试更好地调试这个问题。如果在我的主机中检测到它,为什么它不在我的来宾中?

Udi*_*Udi 8

来自archlinux 维基

检查扫描码

如果键没有键码,您可以通过使用 dmesg 命令查看内核日志来知道它是否有扫描码:

$ dmesg|tail -5
Run Code Online (Sandbox Code Playgroud)

如果当您按下该键时出现类似的内容:

atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e071 <keycode>' to make it known.
Run Code Online (Sandbox Code Playgroud)

那么您的密钥有一个可以映射到键码的扫描码。请参阅将扫描码映射到键码

如果 dmesg 中没有任何新内容出现,那么您的密钥没有扫描码,这意味着内核无法识别它并且无法使用它。


Som*_*DOS 3

我放弃。

我打算买一个新键盘。为了我的理智,10 美元。我已经学习了一些 xmodmap 概念等等。