如何才能阻止操纵杆控制鼠标?

如何才能阻止操纵杆控制鼠标?

如何在 Ubuntu 12.04 中阻止操纵杆控制鼠标?

我尝试删除xserver-xorg-input-joystick/usr/lib/X11/xorg.conf.d/10-joystick,但均未安装。

答案1

1- 您应该首先看到您的操纵杆编号...因此运行终端并输入 xinpute list,然后查看您的操纵杆编号并将其编号替换为下面示例中的 10。

#!/bin/bash id=xinput 列表 | grep "↳ DragonRise Inc. 通用 USB 操纵杆 id=10" | cut -c58-59 props_mouse=xinput 列表-props 10 | grep "生成鼠标事件(" | cut -c25-27 props_teclado=xinput 列表-props 10 | grep "生成键事件(" | cut -c23-25 xinput set-prop 10 $props_mouse 0 xinput set-prop 10 $props_teclado 0

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

例如:cd 桌面(因为我将我的保存在桌面上)

4- 输入 bash name.sh (按 Enter 键即可完成!)

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

答案2

引用 AhmedAlkaabi 的话:

xinput 现在可能有更多功能了??

#!/bin/bash
id=$(xinput --list --id-only 'ZEROPLUS P4 Wired Gamepad')
source <(xinput list-props $id | perl -ne'
  if(m/Generate Mouse Events \(([0-9]+)\)/){print"props_mouse=$1;";}
  if(m/Generate Key Events \(([0-9]+)\)/){print"props_teclado=$1;";}
')
xinput set-prop $id $props_mouse 0
xinput set-prop $id $props_teclado 0

这是 BASH,在较差的 shell 上无法工作。使用了一些 perl,但对任何人来说都不算太糟糕。

答案3

在中/etc/X11/xorg.conf.d/,您可以创建一个包含

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

(取自→ 这里)。

答案4

以 Mike 为基础回答在同一页面上,这里有一个更便携的 shell 版本,没有 perl,并且作为一个函数提供。

jsinput() {
    # Insert your controller name here, as seen from `xinput --list`.
    _c="$( xinput --list --id-only 'Logic3 Controller' )"
    # Default is off, unless you pass "yes" or similar as first parameter.
    _mode="0" ; echo "${1}" | grep -qiE '\<(yes|1|y|on)\>' && _mode=1
    # Find ids of these property names, and then tell each one to go to the mode chosen in the previous line.
    xinput list-props "${_c}" | sed -n -r -e '/Generate (Mouse|Key)/{s/.*\(([0-9]+)\).*/\1/;p}' | xargs -I@ xinput set-prop "${_c}" @ "${_mode}"
}

如果您将其粘贴到您的控制器中,~/.bashrc则可以运行jsinput以禁用该控制器作为鼠标输入。要打开鼠标输入,您只需运行jsinput 1或即可jsinput on

相关内容