Answers:
我们需要完成的第一件事是关闭鼠标,但只能在X中。为此,我们可以使用xinput
。
我们需要发现连接到计算机(连接到X服务器)的输入设备:
pbm@tauri ~ $ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ A4Tech USB Mouse id=10 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
[...]
设备,我们需要使用的是A4Tech USB Mouse
同id=10
。接下来,我们需要检查该设备的属性:
pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
Device Enabled (121): 1
[....]
要关闭设备,我们需要更改属性Device Enabled
:
xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
打开它:
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1
接下来的事情是自动执行...;)在此示例中,我们将通过键盘快捷键禁用鼠标,然后通过按鼠标左键和右键将其启用。
为此,我们可以使用actkbd-在X服务器外部运行的键盘(但不仅限于)快捷方式守护程序。
首先,我们需要为actkbd:创建一个空的配置文件touch /etc/actkbd.conf
。下一步是发现连接到计算机的设备:
pbm@tauri ~ $ cat /proc/bus/input/devices
I: Bus=0003 Vendor=046d Product=c312 Version=0110
N: Name="BTC USB Multimedia Keyboard"
P: Phys=usb-0000:00:1d.0-1.6/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=09da Product=000a Version=0110
N: Name="A4Tech USB Mouse"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event5
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=343
B: MSC=10
[...]
在这一部分中,最有趣的是键盘和鼠标设备的名称和处理程序。
首先,我们处理通过键盘快捷键关闭鼠标的操作,因此我们需要发现键ID:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3
Keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is Ctrl + Shift + `
当我们知道密钥ID是什么时,我们需要将其放入配置文件(/etc/actkbd.conf
):
29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
要测试它,我们需要actkbd
在守护程序模式下运行:
pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D
以同样的方式,我们需要处理“打开”事件:
actkbd
actkbd.conf
运行的守护程序可以在环境中实现为初始化脚本或自动运行脚本。
要自动关闭鼠标,我们可以监视输入设备(cat /dev/input/event5
)并在没有输入时将其关闭...
希望我的简短介绍对您有所帮助...;)
您是否尝试过“ Pointer Capture” Gnome面板小程序?
鼠标指针可以锁定在屏幕区域中,因此指针设备可以自由执行其他任务。例如,此功能允许Powerchair用户使用单个Powerchair操纵杆来控制Powerchair和鼠标指针
Pointer Capture面板小程序会在面板上创建一个这样的区域,用户可以在其中锁定指针,直到以确定的方式释放指针为止。
可以通过右键单击GNOME桌面菜单栏/系统面板,选择“添加到面板”,选择“指针捕获”并单击“添加”按钮来安装“指针捕获”面板小程序。
如果不清楚gnome.org的描述,这将在面板中创建一个区域,当鼠标进入(或您单击鼠标)时,光标将消失并且直到定义的动作发生时才会重新出现,例如第二次点击。听起来正是您所需要的?
Alt + F1
按应用程序菜单打开。我不知道是什么原因造成的。我是Ubuntu用户。
actkbd
!发布问题后,我已经想出了要使用的功能xinput
,但是我没有发现如何通过按下鼠标按钮来重新启用鼠标。