我的 USB 键盘在 Xubuntu 中无法使用,但在 Gnome、Unity 或控制台中可以使用。详情如下...
我有一个 Logitech 统一 USB 接收器,可连接到 K330 键盘和鼠标。我有两台机器,都运行 Xubuntu 14.04。在一台机器上,它们都运行正常。在另一台机器上,鼠标工作正常,键盘在控制台上工作(按下以Ctrl-Alt-F1
打开笔记本电脑键盘后),在 lightdm 登录屏幕上工作,但一旦登录到 X 会话,就完全不起作用了。
我已经运行了xev
,它没有显示来自 USB 键盘的按键事件(但它显示了来自笔记本电脑键盘的事件)。
我该如何调试并解决这个问题?
迄今为止的调查结果
系统盘输出:
Bus 003 Device 043: ID 046d:c52b Logitech, Inc. Unifying Receiver
xin输入列表- 当接收器连接时,在两台机器上添加以下内容:
Logitech Unifying Device. Wireless PID:401b id=15 [slave pointer (2)]
Logitech Unifying Device. Wireless PID:4016 id=16 [slave pointer (2)]
请注意401b
和均4016
列在虚拟核心指针作为指针设备,并且当使用“--long”查看时,它们似乎都是鼠标设备
xinput 列表 --long给出4016
:
Logitech Unifying Device. Wireless PID:4016 id=13 [slave pointer (2)]
This device is disabled
Reporting 6 classes:
Class originated from: 13. Type: XIButtonClass
Buttons supported: 7
Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
...
此设备已被禁用仅出现在无法运行的计算机上!
xinput 列表 --long给出401b
:
Logitech Unifying Device. Wireless PID:401b id=12 [slave pointer (2)]
Reporting 7 classes:
Class originated from: 12. Type: XIButtonClass
Buttons supported: 24
Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
...
答案1
由于xinput list
显示您的键盘的设备 ID 为 12,所以您需要它xinput enable 12
,现在您的键盘应该可以工作了。这无助于解释为什么 Xubuntu 没有启用它,而且拔下它再重新插入也无济于事。根据我的经验,设备 ID 始终相同。
如果键盘被禁用,您可以制作一个看门狗脚本来启用键盘:
- 如果不存在,则运行
sudo mkdir -p /usr/local/bin
创建本地二进制文件夹。 - 运行
sudo touch /usr/local/bin/keyboard_watchdog
以在该文件夹上创建一个文件。 - 运行
sudo chmod 777 /usr/local/bin/keyboard_watchdog
以授予其编辑权限。 - 运行
gedit /usr/local/bin/keyboard_watchdog
以编辑文件。 粘贴此内容:
#!/bin/bash while :; do xinput enable 12 sleep 1 done
- 保存文件。
- 打开设置管理器并选择会话和启动。
- 在应用程序自动启动选项卡上,点击添加按钮。
- 在打开的对话框中写下应用程序的名称(即键盘修复)和运行该应用程序的命令(
/usr/local/bin/keyboard_watchdog
)。 - 一旦您点击好的该应用程序将被添加到列表中,并在下次会话登录时自动启动。