操纵杆充当鼠标; 不会停止

操纵杆充当鼠标,即使我正在玩一个使用操纵杆的游戏,所以我会随机播放鼠标事件。

我插入一个操纵杆来玩Spiral Knights,还安装了操纵杆和jcalibrate。 一切都运行良好,除非默认情况下操纵杆移动鼠标并按钮激活鼠标键。

现在通常情况下这是一个好的行为,如果我在一个神话盒子或其他东西,不幸的是当我用操纵杆输入玩螺旋骑士时,我看到我的鼠标光标在后面移动,当我按下一个按钮时,它认为我在按右键单击以便最大限度地减少所有内容。 它还创建文件夹,可能删除东西。

那么,基本上我是如何阻止它充当鼠标的呢?

卸载xserver-xorg-input-joystick

这是一个用操纵杆控制鼠标的包。 我只安装了一次测试它,它让我发疯,所以也许这就是问题所在。 我认为操纵杆在没有它的情况下也能正常工作。

把这段代码放在一个文件中:

 #!/bin/bash id=`xinput list | grep "↳ DragonRise Inc. Generic USB Joystick id=" | cut -c58-59` props_mouse=`xinput list-props $id | grep "Generate Mouse Events (" | cut -c25-27` props_teclado=`xinput list-props $id | grep "Generate Key Events (" | cut -c23-25` xinput set-prop $id $props_mouse 0 xinput set-prop $id $props_teclado 0 

保存它,权限中的右键并勾选“将此文件标记为程序”

执行它,你将把你的操纵杆“再次作为操纵杆”(最好的是,如果用“1”改变最后两行中的“0”,你可以将操纵杆再次作为鼠标)。

我只是遇到了同样的问题,但是使用了Playstation 3控制器。 使用答案作为模板,我扩展了解决方案:

 #!/bin/bash id=`xinput list | grep -P "PLAYSTATION.*pointer" | grep -oP "id=\d+" | grep -oP "\d+"` props=`xinput list-props $id` # echo "$props" props_mouse=(`echo "$props" | grep "Generate Mouse Events" | grep -oP "\d+"`) props_keyboard=(`echo "$props" | grep "Generate Key Events" | grep -oP "\d+"`) xinput set-prop $id ${props_mouse[0]} $[1-${props_mouse[1]}] xinput set-prop $id ${props_keyboard[0]} $[1-${props_mouse[1]}] 

此版本的脚本将启用或禁用控制器,具体取决于当前设置,如切换。

您可能应该使用jscal来校准操纵杆 – 您可以根据手册页使用-u选项将操纵杆配置为不使用鼠标按钮。

关于ubuntuforums上的各种操纵杆和游戏手柄也有一些有趣的东西。

尝试使用Qjoypad或(如果你不想使用QT)那些没有特色的rejoystick (GTK)。 这样您就不必编辑/创建xorg.conf。

它们都可以在playdeb上找到

了解操纵杆驱动程序有点混乱,一切似乎都已过时或未完成……祝你好运!

1-您应首先看到您的操纵杆编号…所以运行终端并键入xinpute列表,并查看您的操纵杆编号并替换其编号,而不是下面示例中的10。

 #!/bin/bash id=xinput list | grep "↳ DragonRise Inc. Generic USB Joystick id=10" | cut -c58-59 props_mouse=xinput list-props 10 | grep "Generate Mouse Events (" | cut -c25-27 props_teclado=xinput list-props 10 | grep "Generate Key Events (" | cut -c23-25 xinput set-prop 10 $props_mouse 0 xinput set-prop 10 $props_teclado 0 

2-创建一个新文档然后将代码放入其中,然后将其重命名为name.sh格式3-运行终端然后放置保存文件的路径。

示例:cd Desktop(因为我在桌面上保存了我的)

4-键入bash name.sh(单击Enter并完成!)

注意1:要将其重新打开,只需将最后2行的0更改为1注2:如果不起作用,请确保删除xserver-xorg-input-joystick和/usr/lib/X11/xorg.conf.d / 10-操纵杆

Matias Parmigiani的回答对我来说很关键。 但是, xinput list的格式已经改变,至少在Ubuntu 13.04 LTS上…

 ⎜ ↳ DragonRise Inc. Generic USB Joystick id=12 [slave pointer (2)] ↳ DragonRise Inc. Generic USB Joystick (keys) id=11 [slave keyboard (3)] 

因此,我需要在禁用脚本中使用以下内容:

 #!/bin/bash id=`xinput list | grep -P "DragonRise Inc. Generic USB Joystick\s+id=" | grep -oP "id=\d+"| cut -c4-5` props_mouse=`xinput list-props $id | grep "Generate Mouse Events" | grep -oP "\(\d+"| cut -c2-5` props_teclado=`xinput list-props $id | grep "Generate Key Events" | grep -oP "\(\d+"| cut -c2-5` xinput set-prop "$id" "$props_mouse" 0 xinput set-prop "$id" "$props_teclado" 0 

希望这可以帮助!

我正在使用Linux Mint 17.3,我遇到了同样的问题。 我有onlive控制台,我打算扔掉控制器。 我不知道它会起作用,但它很容易通过蓝牙连接。 左操纵杆控制鼠标,我搜索并尝试不同的方法,但没有一个工作。 我发布这个它可以帮助其他人。 我按照Ubuntu Sixaxis设置页面的修复程序进行操作。 我不得不将此配置添加到xorg.conf文件中:

 Section "InputClass" Identifier "joystick catchall" MatchIsJoystick "on" MatchDevicePath "/dev/input/event*" Driver "joystick" Option "StartKeysEnabled" "False" #Disable mouse Option "StartMouseEnabled" "False" #support 

EndSection

退出后它完美运行。 唯一的问题是如果在安装新的图形驱动程序后更新xorg.conf,它将丢失它。 有人可以解释我如何创建一个检查配置是否在文件中的脚本,如果没有,在每次重启后写一下? 提前致谢。