![使用屏幕通知打开/关闭触摸板的脚本](https://linux22.com/image/811112/%E4%BD%BF%E7%94%A8%E5%B1%8F%E5%B9%95%E9%80%9A%E7%9F%A5%E6%89%93%E5%BC%80%2F%E5%85%B3%E9%97%AD%E8%A7%A6%E6%91%B8%E6%9D%BF%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我知道我可以用以下方法检查触摸板是否处于活动状态
gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled
我可以将其设置为禁用/启用
gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true
我lsusb
可以看到所有连接的 USB 设备。这是我的鼠标:
Bus 003 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
更多信息请见lsusb -v
:
Bus 005 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x046d Logitech, Inc.
idProduct 0xc00e M-BJ58/M-BJ69 Optical Wheel Mouse
bcdDevice 11.10
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 52
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 10
以下是来自的信息tail -n 10 -f /var/log/messages
:
Aug 27 08:36:47 pc08 kernel: [ 1795.936583] usb 5-2: USB disconnect, address 3
Aug 27 08:36:55 pc08 kernel: [ 1804.208042] usb 5-2: new low speed USB device using uhci_hcd and address 4
Aug 27 08:36:56 pc08 kernel: [ 1804.384272] usb 5-2: configuration #1 chosen from 1 choice
Aug 27 08:36:56 pc08 kernel: [ 1804.400743] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input13
Aug 27 08:36:56 pc08 kernel: [ 1804.400923] generic-usb 0003:046D:C00E.0004: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.0-2/input0
更多信息:
$ udevadm info --query=all --name=/dev/input/mouse1
P: /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
N: input/mouse1
S: char/13:33
S: input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-mouse
S: input/by-path/pci-0000:00:1d.0-usb-0:2:1.0-mouse
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
E: MAJOR=13
E: MINOR=33
E: DEVNAME=/dev/input/mouse1
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: ID_MODEL=USB-PS_2_Optical_Mouse
E: ID_MODEL_ENC=USB-PS\x2f2\x20Optical\x20Mouse
E: ID_MODEL_ID=c00e
E: ID_REVISION=1110
E: ID_SERIAL=Logitech_USB-PS_2_Optical_Mouse
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:1d.0-usb-0:2:1.0
E: DEVLINKS=/dev/char/13:33 /dev/input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-mouse /dev/input/by-path/pci-0000:00:1d.0-usb-0:2:1.0-mouse
如何使用此功能在连接 USB 鼠标时自动停用触摸板,并在 USB 鼠标消失后立即再次激活它?
答案1
这个项目似乎不再维护。
对于 natty,有一个触摸板指示器应用程序。可以将其设置为在插入或拔出鼠标时禁用/启用触摸板。我不知道它是否也适用于较旧的 Ubuntu 版本。
https://launchpad.net/touchpad-indicator
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
答案2
您可以设置udev
规则来禁用/启用触摸板。ArchLinux 维基具有以下用于切换 Synaptic 触摸板的规则udev
:
ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",
ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0",
ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
答案3
我不确定所有笔记本电脑是否都使用 Synaptiks,但您可以尝试使用它。如果您尚未安装,请在终端中输入:$sudo apt-get install kde-config-touchpad
,然后$synaptiks
最后在菜单“触摸板管理”中检查:
- 登录时自动启动
- 如果插入鼠标,则自动关闭触摸板
我希望这些信息对你有用!
答案4
这是 realhu 给出的类似答案的更长的答案。
使用屏幕通知打开/关闭触摸板的脚本
部分归功于这篇文章(启用/禁用触摸板)
创建切换触摸板脚本
创建一个新目录/home/USER/bin
然后使用gedit /home/USER/bin/toggle-touchpad
。笔记:代替用户使用您的用户 ID。复制并粘贴以下行到您的编辑器中:
#!/bin/bash
# NAME: toggle-touchpad
# PATH: /home/$USER/bin
# DESC: Update pulseaudio output device when HDMI TV plugged / unplugged
# CALL: called from Keyboard Shortcut `Super`+`T`
# DATE: Created Dec 23, 2016.
# NOTE: Written for AU question: http://askubuntu.com/questions/863746/keyboard-shortcut-to-disable-the-laptop-touchpad/863750?noredirect=1#comment1333958_863750
# Use device number matching touchpad, in this case 14
if [[ $(xinput list 14 | grep -Ec "disabled") -eq 1 ]]; then
xinput enable 14
DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/user-available.png "Touchpad enabled"
else
xinput disable 14
DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/user-busy.png "Touchpad disabled"
fi
exit 0
将 toggle-touchpad 脚本标记为可执行
保存文件并退出编辑器。现在使用以下命令将文件标记为可执行文件
chmod +x /home/USER/bin/toggle-touchpad
将 toggle-touchpad 脚本分配给键盘快捷键
打开System Settings
⟶ Keyboard
⟶ Shortcuts
⟶ Custom Shortcuts
⟶+
出现此屏幕:
填写自定义快捷方式字段,如下所示:
- 名称 =
Toggle Touchpad
- 命令 =
/home/USER/bin/toggle-touchpad
点击Apply按钮保存。
新条目显示状态已禁用. 右击已禁用并使用Super+ Z(或任何其他未使用的快捷键组合)。我想使用Super+ T,但它已经分配给鹦鹉螺垃圾桶。
修改toggle-touchpad脚本为不同的设备号
默认设备编号设置为 14。要找出您的设备编号,请使用以下命令:
───────────────────────────────────────────────────────────────────────────────
USER@host:~/bin$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech Performance MX id=10 [slave pointer (2)]
⎜ ↳ Logitech K800 id=11 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS GlidePoint id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_HD id=12 [slave keyboard (3)]
↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
───────────────────────────────────────────────────────────────────────────────
USER@host:~/bin$
您可以选择任何您喜欢的设备,例如触摸板=14、网络摄像头=12等。
无论您使用哪个设备编号,只需打开您的/home/USER/bin/toggle-touchpad
脚本并14
用该设备编号替换即可。
修改 toggle-touchpad 脚本以使用不同的图标
当显示“触摸板已启用”/“触摸板已禁用”通知气泡时,文本左侧会显示一个图标。使用库存图标,/usr/share/icons/gnome/256x256/status/
但您可以更改它们。
启用触摸板时显示以下内容:
要禁用触摸板,将显示以下内容: