我正在尝试使用 syndaemon 在我打字时禁用我的触摸板。我知道这个 GUI 对很多人都不起作用,但我在网上看到的所有帖子都表明从命令行使用 syndaemon 应该可以工作。然而,它对我不起作用。
为了测试我打字时触摸板是否关闭,我用一只手打字,同时移动鼠标并用另一只手单击。我也试过打开手掌检测,我只是通过输入一段时间来测试我是否得到了触摸板的点击(我总是这样做,非常迅速)。
Linux Mint 17.2 Rafaela(昨天安装)
戴尔灵越 11 3000 系列
的输出xinput list:
> xinput list
? Virtual core pointer id=2 [master pointer (3)]
? ? Virtual core XTEST pointer id=4 [slave pointer (2)]
? ? DLL064D:00 06CB:2985 id=12 [slave pointer (2)]
? ? SynPS/2 Synaptics TouchPad 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 …Run Code Online (Sandbox Code Playgroud)我的外部键盘有一个 udev 规则。我可以捕获事件,并且通过运行脚本,我还可以访问 udev 环境变量。我可以使用 udev 禁用键盘吗?或者我必须使用脚本以另一种方式禁用键盘。
有一种方法可以禁用运行脚本的键盘,xinput但它需要一个“id”。如何xinput从 udev获取 id 信息?或者有另一种有效的方法吗?
当我监视键盘的 udev 时的整个跟踪:
KERNEL[2563.037091] add /devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2 (usb)
ACTION=add
BUSNUM=002
DEVICE=/proc/bus/usb/002/003
DEVNAME=bus/usb/002/003
DEVNUM=003
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2
DEVTYPE=usb_device
MAJOR=189
MINOR=130
PRODUCT=1c4f/2/110
SEQNUM=1538
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=3
KERNEL[2563.037837] add /devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2/2-2:1.0 (usb)
ACTION=add
DEVICE=/proc/bus/usb/002/003
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2/2-2:1.0
DEVTYPE=usb_interface
INTERFACE=3/1/1
MODALIAS=usb:v1C4Fp0002d0110dc00dsc00dp00ic03isc01ip01
PRODUCT=1c4f/2/110
SEQNUM=1539
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=3
KERNEL[2563.038023] add /devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2/2-2:1.0/0003:1C4F:0002.0005 (hid)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2/2-2:1.0/0003:1C4F:0002.0005
HID_ID=0003:00001C4F:00000002
HID_NAME=SIGMACH1P USB Keykoard
HID_PHYS=usb-0000:09:00.0-2/input0
MODALIAS=hid:b0003v00001C4Fp00000002
SEQNUM=1540
SUBSYSTEM=hid
UDEV_LOG=3
KERNEL[2563.040754] add /devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2/2-2:1.0/input/input17 (input)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb2/2-2/2-2:1.0/input/input17
EV=120013
KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe
LED=7
MODALIAS=input:b0003v1C4Fp0002e0110-e0,1,4,11,14,k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,F0,ram4,l0,1,2,sfw
MSC=10 …Run Code Online (Sandbox Code Playgroud) 我想配置我的系统,以便在触摸板上禁用点按。(它使用 xorg-server-1.4.2-alt10.M41.1 运行相当旧版本的 ALTLinux 发行版。)
我对无需synclient在每个 X 会话中运行的解决方案感兴趣。
也许,我的X服务器太旧了,这样不理解“InputClass”部分xorg.conf的,由文森特Nivoliers另一个答案建议:
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "MaxTapTime" "0"
EndSection
Run Code Online (Sandbox Code Playgroud)
我得到一个错误;来自 Xorg.*.log:
(==) Using config file: "/etc/X11/xorg.conf"
Parse error on line 71 of section InputClass in file /etc/X11/xorg.conf
"InputClass" is not a valid section name.
(EE) Problem parsing the config file
(EE) Error parsing the config file
Run Code Online (Sandbox Code Playgroud)
此外,我的xorg.conf没有任何明确的“InputDevice”部分(带有注释:“使用 libXiconfig,我们不需要 ps 和 usb 鼠标的配置。”)。
如何将“MaxTapTime”选项放入我xorg.conf的输入设备(包括触摸板)的配置中?(如果我编写明确的“InputDevice”部分,我可能会破坏自动获得的正确配置..)
也许, 的输出 …
我在 Linux Mint 上使用 xinput 实用程序找到了这些配置和“类”。数小时的文档爬行和谷歌搜索没有产生任何关于它们的信息。谁能告诉我它们是什么,在哪里可以找到它们,以及是否可以编辑它们?
我问是因为我最近在我的笔记本电脑上安装了 Linux Mint Mate (17.2) 并且触摸板配置不正确。它就像一个触摸屏,每当我触摸它时,它就会将光标拉到一个新的位置。我数小时的谷歌搜索暗示,在我下面打印的行中,它的模式应该是“依赖”而不是“直接”。
谢谢,这是我找到的东西:
xinput list --long
Run Code Online (Sandbox Code Playgroud)
打印以下内容:
? Virtual core pointer id=2 [master pointer (3)]
Reporting 9 classes:
Class originated from: 11. Type: XIButtonClass
Buttons supported: 16
Button labels: "Button Unknown" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" None None None None None None None None None
Button state:
Class originated from: 11. Type: XIValuatorClass
Detail for Valuator 0: …Run Code Online (Sandbox Code Playgroud) 我不明白我想增加的鼠标滚动距离的最后两个参数:
xinput list-props 14
sudo xinput set-prop 14 'Evdev Scrolling Distance' 1, 1, 1
Run Code Online (Sandbox Code Playgroud)
14 是我的设备 ID ( $ xinput list)。
第一个表示,多少个鼠标滚轮滚动单位被计为一个滚动,这意味着,如果值为 2,那么我需要将鼠标滚轮向任何方向移动两个滚动单位才能移动页面。当然,建议将其设置为 1。
但是另外两个值是什么意思呢?
最终,如何延长每个鼠标滚轮移动单位的页面滚动距离?
刚刚将我的 PC 从上一个 LTS Ubuntu 发行版更新到 18.04LTS,我的 Wacom Wireless Bamboo 平板电脑上的触控笔立即失去了所有按钮功能。
系统似乎在跟踪触控笔本身,因为将触控笔移到触控板上会导致光标在屏幕上移动,但将触控笔接触触控板和/或单击触控笔主体上的按钮没有响应。
另一方面,平板电脑本身的触摸板功能分别响应手指拖动和点击作为光标移动和点击。平板电脑底部的 A/B 按钮没有响应,与手写笔按钮相同。Deets 如下:
平板电脑型号: Wacom Bamboo Pad(无线),CTH-300/K
系统: Ubuntu 18.04.1 LTS,64 位
设备 > Wacom 数位板:显示“未找到手写笔/请将您的手写笔移到数位板附近以进行配置”,并且对该区域中的手写笔光标移动没有响应。Tablet > Wacom Bamboo Pad Wireless > Tracking Mode是“平板电脑(绝对)”。尝试使用“地图按钮...”来设置 A/B 平板电脑按钮不起作用;它们显示在屏幕上进行映射,但不响应被按下。
libwacom-list-local-devices:
我注意到的一点: Libwacom 将平板电脑手写笔列为0xfffff;0xffffe,这是默认标准手写笔和带有橡皮擦的手写笔的代码。Bamboo Pad 的手写笔没有橡皮擦或摇杆按钮,应设置为 type 0xffffd。不确定这是否意味着它与此错误有关。
[Device]
Name=Wacom Bamboo Pad Wireless
DeviceMatch=usb:056a:0319;
Class=Bamboo
Width=4
Height=3
IntegratedIn=
Layout=bamboo-pad.svg
Styli=0xfffff;0xffffe;
[Features]
Reversible=false
Stylus=true
Ring=false
Ring2=false
Touch=true
TouchSwitch=false
StatusLEDs=
NumStrips=0
Buttons=2
[Buttons]
Left=
Right= …Run Code Online (Sandbox Code Playgroud) 我使用的是 Debian 9。我有一台带有 2 个内置显示器的小型 PC,我打算将其用作销售点。它有一个面向顾客的显示器(非触摸屏)和一个面向收银员的显示器(触摸屏)。每台显示器的分辨率为 1366 x 768。我有一个 POS 应用程序,它作为唯一的 x 客户端运行 - 不存在窗口管理器和桌面管理器。这样系统消耗的资源最少。即我可以像这样从终端运行它:
xinit my-pos-app $* -- :1
Run Code Online (Sandbox Code Playgroud)
只要我使用鼠标,应用程序就可以正常运行。然而,目的是让这项工作仅使用触摸屏。
问题是触摸屏没有校准。我可以看到,当我触摸它时,我触摸的位置右侧大约 10 厘米处的一个点实际上正在被激活。所以我尝试使用xinput_calibrator- 一个程序,它会显示一个 gui 显示屏幕上的点来触摸并自动校准触摸屏。但是按照目前的设置,这一步是不可能完成的。这是因为只有一个显示器是触摸屏,而另一台显示器不是,但xinput_calibrator不知道这一点,它在每台显示器上放置了一半的图片。非触摸屏显示器上的校准点显然无法触摸,因此我无法完成该xinput_calibrator过程。
当我将鼠标移到第一台显示器的右侧时,我注意到它出现在第二台显示器的左侧。因此,该系统似乎并排放置了两个显示器。我不太了解这个低级监视器配置的东西,但是从 的输出来看xrandr,系统似乎认为它只有 1 个显示:
$ xrandr
Screen 0: minimum 320 x 200, current 2732 x 768, maximum 8192 x 8192
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm
x 193mm
1366x768 60.00*+ 40.00
1360x768 59.80 59.96
1024x768 60.04 60.00
960x720 …Run Code Online (Sandbox Code Playgroud) 无法使用 来设置某些值似乎是一个常见问题xinput。
所以今天我启动了我的笔记本电脑,但触控板点击不起作用。
我看着表格xinput,发现选项编号发生了变化,这对我来说似乎有点奇怪。运行xinput --list-props 11我得到以下输出
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (165): 1
Coordinate Transformation Matrix (167): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (300): 1
libinput Tapping Enabled Default (301): 0
libinput Tapping Drag Enabled (302): 1
libinput Tapping Drag Enabled Default (303): 1
libinput Tapping Drag Lock Enabled (304): 0
libinput Tapping Drag Lock Enabled Default (305): 0
libinput Tapping Button Mapping Enabled (306): 1, 0 …Run Code Online (Sandbox Code Playgroud) 在最近一次apt full-upgrade包括内核更新之后,我现在两次遇到了一个相当奇怪的问题,更重要的是,我一生都无法弄清楚我找到的唯一解决方案如何以及为什么能够真正修复它。
现在有两次,当我在观看视频时闲置 20-30 分钟时,我的鼠标(Logitech M510,一直工作完美,我几乎可以肯定不是问题所在,正如我将在下面描述的那样)已经禁用了指针,同时保持按钮功能。
1.电池已更换,鼠标已关闭并重新打开多次,这两者都没有任何区别。
2.同样,移除 USB 统一接收器也无法解决问题。
3. dmesg不记录任何错误、警告。当接收器重新插入时,输出与以前一样正常:
usb 4-1.1: USB disconnect, device number 3
usb 4-1.1: new full-speed USB device number 5 using ehci-pci
usb 4-1.1: New USB device found, idVendor=046d, idProduct=c52b, bcdDevice=24.07
usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-1.1: Product: USB Receiver
usb 4-1.1: Manufacturer: Logitech
logitech-djreceiver 0003:046D:C52B.0008: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.0-1.1/input2
input: Logitech M510 as /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1/4-1.1:1.2/0003:046D:C52B.0008/0003:046D:4051.0009/input/input38
logitech-hidpp-device 0003:046D:4051.0009: …Run Code Online (Sandbox Code Playgroud) 我不知道如何提高鼠标速度。几周前xset工作正常。现在,我使用命令提高速度
xinput --set-prop 'USB OPTICAL MOUSE' 'libinput Accel Speed' 1
Run Code Online (Sandbox Code Playgroud)
但这对我来说还不够。鼠标可用选项列表:
Device 'USB OPTICAL MOUSE':
Device Enabled (152): 1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (288): 1.000000
libinput Accel Speed Default (289): 0.000000
libinput Accel Profiles Available (290): 1, 1
libinput Accel Profile Enabled (291): 1, 0
libinput Accel Profile Enabled Default (292): 1, 0
libinput Natural Scrolling Enabled (293): 0
libinput Natural Scrolling Enabled Default (294): 0 …Run Code Online (Sandbox Code Playgroud) 如何配置 xinput 以使用脚本自动设置多个设备?
\n\n $ xinput --list\n\xe2\x8e\xa1 Virtual core pointer id=2 [master pointer (3)]\n\xe2\x8e\x9c \xe2\x86\xb3 Virtual core XTEST pointer id=4 [slave pointer (2)]\n\xe2\x8e\x9c \xe2\x86\xb3 AlpsPS/2 ALPS GlidePoint id=12 [slave pointer (2)]\n\xe2\x8e\x9c \xe2\x86\xb3 ALPS PS/2 Device id=13 [slave pointer (2)]\n\xe2\x8e\x9c \xe2\x86\xb3 Corsair Corsair M65 Gaming Mouse id=15 [slave pointer (2)]\n\xe2\x8e\x9c \xe2\x86\xb3 Corsair Corsair M65 Gaming Mouse id=17 [slave pointer (2)]\n\xe2\x8e\xa3 Virtual core keyboard id=3 [master keyboard (2)]\n \xe2\x86\xb3 Virtual core XTEST keyboard id=5 [slave keyboard (3)]\n \xe2\x86\xb3 Power Button id=6 [slave …Run Code Online (Sandbox Code Playgroud) 我的鼠标垫在 Lenovo E460 上挂起后无法工作。它曾经完美地工作,但在此之后它甚至不再出现在 xinput 中。我试过插入鼠标,效果很好。
编辑:重新启动等不会使它再次工作,它在暂停后完全消失了。
man xinput描述与xinput. 一种选择是这样的:
--list [--short || --long || --name-only || --id-only] [device]
Run Code Online (Sandbox Code Playgroud)
但是我可以运行xinput --list or xinput list并且两者都给出相同的输出:
? Virtual core pointer id=2 [master pointer (3)]
? ? Virtual core XTEST pointer id=4 [slave pointer (2)]
? ? PixArt USB Optical Mouse id=10 [slave pointer (2)]
? ? PS/2 Mouse id=12 [slave pointer (2)]
? ? AlpsPS/2 ALPS GlidePoint id=13 [slave pointer (2)]
? Virtual core keyboard id=3 [master keyboard (2)]
? Virtual core XTEST keyboard …Run Code Online (Sandbox Code Playgroud)