测试你的xinput设备
什么是xinput?
xinput是Linux下的一个工具,可以用来配置和测试输入设备,如键盘、鼠标、触摸板等。
xinput如何工作?
在Linux中,所有的输入设备都是通过内核驱动来实现的。X Window System则负责处理这些输入设备,并将它们映射到相应的窗口或桌面。
xinput则利用X Window System提供的API来操作这些输入设备。通过xinput,我们可以获取输入设备的一些信息,如设备名称、设备ID、支持的事件等。同时,xinput也提供了一些命令,用于修改输入设备的参数或测试设备的性能。
xinput的用途:
xinput可以帮助我们对输入设备进行测试、调试、监控和优化,提升系统的输入响应速度和用户体验。
如何使用xinput测试输入设备?
第一步:查看输入设备列表
打开终端,输入以下命令:
xinput list
将显示所有的输入设备列表,每个设备都有一个唯一的ID和名称。例如:
⎡ Virtual core pointer id=2 [master pointer (3)]⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)]⎜ ↳ PS/2 Generic Mouse id=12 [slave pointer (2)]⎜ ↳ Logitech USB Receiver id=13 [slave pointer (2)]⎜ ↳ Logitech USB Receiver id=14 [slave pointer (2)]⎜ ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=15 [slave pointer (2)]⎜ ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=16 [slave pointer (2)]⎜ ↳ C-Media Electronics Inc. id=17 [slave pointer (2)]⎜ ↳ HDA Intel PCH Headphone Mic id=18 [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: Integrate:id=10 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=19 [slave keyboard (3)]
查看其中一行,例如Synaptics TouchPad,它的ID是11。
第二步:查看输入设备的属性
接下来,我们可以查看输入设备的属性,以检查设备是否正常工作。执行以下命令:
xinput list-props 11
将显示该设备的所有属性列表,包括按钮、轴、触摸板、滚轮等。例如:
Device 'SynPS/2 Synaptics TouchPad':Device Enabled (183):1Coordinate Transformation Matrix (185):1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000Device Accel Profile (311):1Device Accel Constant Deceleration (312):2.500000Device Accel Adaptive Deceleration (313):1.000000Device Accel Velocity Scaling (314):12.500000Synaptics Edges (388):48, 1168, 42, 701Synaptics Finger (389):25, 30, 0Synaptics Tap Time (390):180Synaptics Tap Move (391):70Synaptics Tap Durations (392):180, 180, 100Synaptics ClickPad (393):0Synaptics Middle Button Timeout (394):0Synaptics Two-Finger Pressure (395):282Synaptics Two-Finger Width (396):7Synaptics Scrolling Distance (397):-92, -92Synaptics Edge Scrolling (398):0, 0, 0Synaptics Two-Finger Scrolling (399):1, 0Synaptics Move Speed (400):1.000000, 1.750000, 0.036787, 40.000000Synaptics Off (401):0Synaptics Locked Drags (402):0Synaptics Locked Drags Timeout (403):5000Synaptics Tap Action (404):0, 0, 0, 0, 1, 2, 3
这里我们可以看到Synaptics TouchPad的各项参数,如灵敏度、速度、边缘滚动、双指滚动等。
第三步:测试输入设备
最后,我们可以使用xinput来测试输入设备的性能和响应速度。执行以下命令:
xinput test 11
现在你可以开始移动触摸板或者按下按键来测试设备是否正常工作。在终端中,将会输出所有的输入事件,包括事件类型、时间戳和事件值。例如:
key press 28 key release 28 key press 54 key release 54 motion a[0]=2317 a[1]=1332 motion a[0]=2316 a[1]=1332 motion a[0]=2314 a[1]=1331 motion a[0]=2312 a[1]=1331 motion a[0]=2310 a[1]=1330 ...
按下Ctrl+C可以退出测试模式。
总结
本文介绍了如何使用xinput来测试输入设备。通过查看设备列表、属性和测试设备,可以帮助我们发现和解决一些输入问题,提升系统的性能和用户体验。