linux下xinput怎么使用

发布时间:2023-03-14 10:11:44 作者:iii
来源:亿速云 阅读:229

Linux下xinput怎么使用

xinput 是一个用于配置和测试 X 输入设备的命令行工具。它允许用户查看、修改和调试与 X 服务器连接的输入设备(如键盘、鼠标、触摸板等)。本文将详细介绍如何在 Linux 下使用 xinput,包括查看设备列表、修改设备属性、禁用/启用设备等操作。

1. 安装xinput

在大多数 Linux 发行版中,xinput 已经预装。如果没有安装,可以通过包管理器进行安装。

在Debian/Ubuntu系统上安装

sudo apt-get update
sudo apt-get install xinput

在Fedora系统上安装

sudo dnf install xinput

在Arch Linux系统上安装

sudo pacman -S xorg-xinput

2. 查看输入设备列表

要查看当前连接到系统的所有输入设备,可以使用以下命令:

xinput list

输出示例:

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                   	id=8	[slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver Mouse             	id=9	[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=10	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=11	[slave  keyboard (3)]
    ↳ Logitech USB Receiver                   	id=12	[slave  keyboard (3)]
    ↳ Logitech USB Receiver Consumer Control  	id=13	[slave  keyboard (3)]

在这个列表中,每个设备都有一个唯一的 id 和名称。id 是设备在系统中的唯一标识符,后续的操作都需要使用这个 id

3. 查看设备属性

要查看某个设备的属性,可以使用以下命令:

xinput list-props <device_id>

例如,查看 id=8 的设备的属性:

xinput list-props 8

输出示例:

Device 'Logitech USB Receiver':
	Device Enabled (140):	1
	Coordinate Transformation Matrix (142):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	Device Accel Profile (267):	0
	Device Accel Constant Deceleration (268):	1.000000
	Device Accel Adaptive Deceleration (269):	1.000000
	Device Accel Velocity Scaling (270):	10.000000
	Device Product ID (261):	1133, 49209
	Device Node (262):	"/dev/input/event5"
	Evdev Axis Inversion (271):	0, 0
	Evdev Axes Swap (273):	0
	Axis Labels (274):	"Rel X" (150), "Rel Y" (151), "Rel Horiz Wheel" (264), "Rel Vert Wheel" (265)
	Button Labels (275):	"Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
	Evdev Middle Button Emulation (276):	0
	Evdev Middle Button Timeout (277):	50
	Evdev Third Button Emulation (278):	0
	Evdev Third Button Emulation Timeout (279):	1000
	Evdev Third Button Emulation Button (280):	3
	Evdev Third Button Emulation Threshold (281):	20
	Evdev Wheel Emulation (282):	0
	Evdev Wheel Emulation Axes (283):	0, 0, 4, 5
	Evdev Wheel Emulation Inertia (284):	10
	Evdev Wheel Emulation Timeout (285):	200
	Evdev Wheel Emulation Button (286):	4
	Evdev Drag Lock Buttons (287):	0

在这个输出中,每个属性都有一个唯一的 id 和名称。id 是属性在系统中的唯一标识符,后续的修改操作需要使用这个 id

4. 修改设备属性

要修改某个设备的属性,可以使用以下命令:

xinput set-prop <device_id> <property_id> <value>

例如,禁用 id=8 的设备:

xinput set-prop 8 "Device Enabled" 0

要重新启用设备,可以将 value 设置为 1

xinput set-prop 8 "Device Enabled" 1

5. 禁用/启用设备

要禁用某个设备,可以使用以下命令:

xinput disable <device_id>

例如,禁用 id=8 的设备:

xinput disable 8

要重新启用设备,可以使用以下命令:

xinput enable <device_id>

例如,启用 id=8 的设备:

xinput enable 8

6. 重新映射按键

xinput 还可以用于重新映射按键。例如,将鼠标的左右键互换:

xinput set-button-map <device_id> 3 2 1

在这个例子中,3 2 1 表示将左键映射为右键,右键映射为中键,中键映射为左键。

7. 测试设备

xinput 还可以用于测试输入设备。例如,测试鼠标的移动和点击:

xinput test <device_id>

这个命令会实时显示设备的输入事件,包括鼠标移动、按键点击等。

8. 创建脚本自动化操作

为了方便日常使用,可以将常用的 xinput 命令写入脚本中。例如,创建一个脚本 disable_touchpad.sh 来禁用触摸板:

#!/bin/bash
xinput disable <touchpad_device_id>

然后赋予脚本执行权限:

chmod +x disable_touchpad.sh

以后只需运行这个脚本即可禁用触摸板。

9. 常见问题

9.1 如何找到设备的 id

可以使用 xinput list 命令查看所有设备的 id

9.2 如何找到属性的 id

可以使用 xinput list-props <device_id> 命令查看设备的所有属性及其 id

9.3 修改属性后如何恢复默认值?

可以使用 xinput set-prop <device_id> <property_id> <default_value> 命令将属性恢复为默认值。

10. 总结

xinput 是一个功能强大的工具,可以帮助用户管理和调试 Linux 系统中的输入设备。通过本文的介绍,你应该已经掌握了如何使用 xinput 查看设备列表、修改设备属性、禁用/启用设备等操作。希望这些内容对你有所帮助!

推荐阅读:
  1. Linux下Mysql如何安装多实例和主从配置
  2. Linux下安装Mysql

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:linux localhost的概念是什么

下一篇:linux i386是32位吗

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》