首页  >  文章  >  运维  >  linux下xinput是什么

linux下xinput是什么

青灯夜游
青灯夜游原创
2023-03-14 09:59:365666浏览

在linux中,xinput是xorg中的一个工具,是用来配置和测试X输入设备的工具,包括但不限于键盘、鼠标等。直接键入xinput或者跟上list参数,就会列出本机所有输入设备,包括名称、ID、层级;而使用“xinput list-props”命令可列出某个设备的详细信息,后接参数为设备ID。

linux下xinput是什么

本教程操作环境:linux7.3系统、Dell G3电脑。

xinput是什么

xinput是用来配置和测试X输入设备的工具,包括但不限于键盘,鼠标等,在这里用作关闭触摸板,基于同样的道理可以关闭键盘等。

xinput是Linux下的一款配置测试X输入设备的神器,具有以下功能(我们将会用到的)

  • xinput (list) : 直接键入xinput或者跟上list参数,就会列出本机所有输入设备,包括名称、ID、层级

  • xinput list –id-only : 仅仅列出设备ID(序号,每次开机都可能改变)

  • xinput map-to-output : 将输入设备映射到输出,比如将触屏映射到某个屏幕

  • xinput list-props : 列出某个设备的详细信息,后接参数为设备ID。

首先使用:

xinput list

查看设备列表:

1.webp.jpg

可以看到id=12的就是触摸板设备,使用

xinput list-props 12

查看设备的详细信息:

2.webp.jpg

把其中的Device Enabled设置为0即可禁用:

xinput set-prop 12 'Device Enabled' 0

或者使用Device Enabled后面的数字也可以禁用:

xinput set-prop 12 154 0

启用进行相反的处理即可,设置为1:

xinput set-prop 12 'Device Enabled' 1
# 或
xinput set-prop 12 154 1

Linux下无Makefile编译xinput

xinput是xorg中的一个工具,用来设置输入设备匹配屏幕,编译它是为了更方便调用里面的功能。

源码内有configure可以生成Makefile,但由于所用Linux版本的安装源失效,无法补齐依赖包(yum install 失效),也就不能生成makefile了。现找到一份类似版本的源码,能从中提取所需要的东西。

直接用gcc编译源文件 *.c

会提示找不到一些头文件,比如e298cd33e82eba0755b4e64bc04064d4可以从libXinerame包中提取

未知的类型名‘XIDeviceInfo’

缺少宏定义导致的头文件选择错误,可在编译命令中指定 gcc -DHAVE_XI2

VERSION 未声明

需要一个宏定义,但不能在命令行中指定了,在xinput.h中增加

#ifndef VERSION
#define VERSION "xinput 1.6.2a"
#endif

‘XineramaQueryExtension’未定义的引用

有一些库文件需要链接,比如 -lXinerama

cannot find -lXinerama

查看lib64路径中是否存在正确的库文件或者链接,so结尾才行

sudo ln -s /lib64/libXinerama.so.1 /lib64/libXinerama.so

正确安装软件包应该生成 *.pc 文件

configure 检测的是pc文件,它根据PC文件中的依赖关系来生成makefile

prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include
targets=x11

gtk_binary_version=3.14.13
gtk_host=x86_64

Name: GTK+
Description: GTK+ Graphical UI Library
Version: 3.14.13
Requires: gdk-3.0 atk cairo
Requires.private: pango cairo gdk-pixbuf2 atk
Libs: -L${libdir} -lgtk-3
Cflags: -I${includedir}/gtk

summary

gcc *.c -DHAVE_XI2  -lX11 -lXrandr -lXi -lXinerama

相关推荐:《Linux视频教程

以上是linux下xinput是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn