操作系统:Ubuntu 16.04
最近,当我插入 Playstation 3 控制器时,我收到随机鼠标事件。鼠标变得无法控制,直到拔下 PS3 控制器。我无法使用 PS3 控制器控制鼠标,相反,当控制器插入时,鼠标会在屏幕上跳来跳去。这个问题在 2 周前并不存在。
为了补救,我尝试过
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot
但这并不能解决问题。
当 PS3 控制器插入时,我尝试
$ ls /dev/input/ | grep j
js0
js1
这很奇怪,因为我只插入了一个控制器/操纵杆。然后我尝试
$ sudo jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Gasia Co.,Ltd PS(R) Gamepad Motion Sensors) has 3 axes (X, Y, Z)
and 0 buttons ().
Testing ... (interrupt to exit)
Axes: 0: -193 1: 7374 2: 1731
和
$ sudo jstest /dev/input/js1
Driver version is 2.1.0.
Joystick (Gasia Co.,Ltd PS(R) Gamepad) has 6 axes (X, Y, Z, Rx, Ry, Rz)
and 17 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR, ?, ?, ?, (null), (null), (null), (null)).
Testing ... (interrupt to exit)
Axes: 0: 0 1: 0 2:-32767 3: 0 4: 0 5:-32767 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off 11:off 12:off 13:off 14:off 15:off 16:off
在上述两个中,js0
每个js1
轴/按钮的值都会更新。
我还对运行 Ubuntu 14.04 的计算机上的 PS3 控制器进行了同样的测试。控制器按预期工作:仅js0
存在并jstest
提供
$ sudo jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Gasia Co.,Ltd PS(R) Gamepad) has 27 axes (X, Y, Z, Rz, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null))
and 19 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, BtnDead, BtnA, BtnB, BtnC, (null), (null), (null)).
Testing ... (interrupt to exit)
Axes: 0: 0 1: 0 2: 0 3: 0 4: 0 5: 0 6: 0 7: 0 8: 0 9: 0 10: 0 11: 0 12: 0 13: 0 14: 0 15: 0 16: 0 17: 0 18: 0 19: 0 20: 0 21: 0 22: 0 23:
所有轴/按钮均更新。
我遇到了类似的问题这里但不幸的是没有成功(我没有xserver-xorg-input-joystick
安装)。
任何建议或解决方案都将不胜感激!
答案1
根据这个这个reddit答案这是一个由以下原因引起的内核错误回归索尼员工 - 参见这里和这里。
另一位 Reddit 用户建议创建一个udev规则(见这里)。会测试并更新答案。
更新
解决方法是在同步 pad 时运行以下命令:
xinput set-prop "PLAYSTATION(R)3 Controller" "Device Enabled" 0
该 Reddit 用户还建议创建一个udev脚本来自动化这个,还不能让它工作...