前几天,我发现O我的键盘上的按键不能用了。我见过一些与此问题类似的主题,但似乎没有一个得到解决。
当我点击按键时 - 什么也没有发生。
当我握住它时 - 输出“oooooo”。
当我使用Shift-“O”时。
当我打开Caps Lock并按住Shift-“o”时。
当我使用 USB 键盘时它甚至不起作用。据我所知,这似乎是 Unix 窗口管理器 Compiz 的问题。但是,我没有找到解决这个问题的方法。
有没有人遇到过同样的问题或/并设法解决它?
PS:我使用的是 Ubuntu 14.04 LTS。
xev
PPS:这是我按下该键时的输出O:
FocusOut event, serial 37, synthetic NO, window 0x4000001,
mode NotifyGrab, detail NotifyAncestor
FocusOut event, serial 37, synthetic NO, window 0x4000001,
mode NotifyUngrab, detail NotifyPointer
FocusIn event, serial 37, synthetic NO, window 0x4000001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0xc6, subw 0x0, time 2214796, (177,133), root:(2162,185),
state 0x10, keycode 32 (keysym 0x6f, o), same_screen YES,
XLookupString gives 1 bytes: (6f) "o"
XFilterEvent returns: False
答案1
我猜您正在使用 Unity 桌面,因为这是 Ubuntu 的默认桌面并使用 Compiz。
单击右上角的齿轮图标,然后单击“系统设置”。然后从硬件部分选择“键盘”。
在键盘设置窗口中,您需要“快捷方式”选项卡(不是带有速度滑块的默认选项卡)。
在类别中搜索分配给“o”的键映射。
如果你在那里找不到,那么它可能是 Compiz 本身,但你会知道你是否弄乱了那里的设置,所以这似乎不太可能。无论如何,配置工具称为“CompizConfig Settings Manager”,并且默认情况下不安装。
如果所有其他方法都失败,请删除(或移动)您的.compiz
目录和/或您的.config/compiz
设置。它也可能位于.config
或中的等效 unity 或 gnome 设置中.local/share
,但在这些文件夹中要格外小心,否则您将破坏其他应用程序。
答案2
打开终端并运行xev
.然后o
按出现的窗口并查看xev
显示的内容。如果它与您获得的其他键不同,那么您的键映射很可能以某种方式被切断。
尝试跑步xmodmap -pk
。这应该显示o
和O
在同一行。
尝试切换到控制台(alt-ctrl-f1)并查看是否o
有效。
只需一个终端即可启动一个新的 X 服务器,看看它是否可以正常工作:
X :1 & sleep 3 ; DISPLAY=:1 xterm &
确保安装了 xdotool 后,打开终端并运行(复制粘贴):
sleep 1; xdotool type o ; echo
上述内容应该可以缩小您的搜索范围。
答案3
我遇到了与所描述的问题完全相同的问题(除了我使用 Ubuntu 16.04):“o”不起作用,但“O”起作用(后来我注意到“z”和“Z”也发生了同样的情况)。我浏览了一些论坛,除了重新安装 Ubuntu 之外似乎没有任何帮助......必须有其他东西。
然后,我记得我不久前安装了“Unity Tweak Tool”,它可以放大和缩小 Unity 桌面。这里启用了“桌面放大”选项,“放大”有快捷方式“z”...而“缩小”有快捷方式“o”。由于“o”比“z”更常见,我只注意到“o”不起作用(事实上它起作用:它缩小了未放大的桌面,即它什么也没做)。因此,我将快捷键替换为 Ctrl+Alt+z 和 Ctrl+Alt+o,现在一切都按预期工作,所有字母都正常工作,我可以随意放大和缩小。
即使您的问题不一样,不起作用的字母也可能在某处用作快捷方式。
答案4
尝试禁用终端快捷方式也很有帮助(终端 < 首选项 < 快捷方式 < 取消选中“启用快捷方式”)。
如果这解决了问题,就像我的情况一样,那么问题出在终端特定的快捷方式上,而不是系统快捷方式上。然后我通过快捷方式映射找到了问题。