首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

/dev/input/eventX和/dev/input/jsX有什么区别?

/dev/input/eventX和/dev/input/jsX是Linux系统中用于处理输入设备的特殊文件。它们之间的区别如下:

  1. /dev/input/eventX:这是一个字符设备文件,用于处理各种输入事件,例如键盘按键、鼠标移动、触摸屏触摸等。它提供了一种统一的接口,允许应用程序读取和处理输入事件流。每个输入设备都会被分配一个唯一的eventX编号,例如event0、event1等。
  2. /dev/input/jsX:这是一个字符设备文件,用于处理游戏手柄和游戏控制器等游戏输入设备。它提供了一种简单的接口,允许应用程序读取和处理游戏输入事件,如按钮按下、摇杆移动等。每个游戏输入设备都会被分配一个唯一的jsX编号,例如js0、js1等。

区别总结:

  • 功能不同:/dev/input/eventX用于处理各种输入事件,而/dev/input/jsX用于处理游戏输入事件。
  • 设备类型不同:/dev/input/eventX适用于键盘、鼠标、触摸屏等输入设备,而/dev/input/jsX适用于游戏手柄、游戏控制器等游戏输入设备。
  • 接口不同:/dev/input/eventX提供了一种统一的接口,而/dev/input/jsX提供了一种简单的接口。
  • 编号不同:每个输入设备都会被分配一个唯一的eventX编号,而每个游戏输入设备都会被分配一个唯一的jsX编号。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):提供高性能、可扩展的云服务器实例,满足各种计算需求。产品介绍链接
  • 腾讯云云数据库MySQL版:提供稳定可靠的云数据库服务,支持高可用、备份恢复等功能。产品介绍链接
  • 腾讯云对象存储(COS):提供安全可靠的云存储服务,适用于存储和处理各种类型的数据。产品介绍链接
  • 腾讯云人工智能平台(AI Lab):提供丰富的人工智能服务和工具,帮助开发者快速构建智能应用。产品介绍链接
  • 腾讯云物联网平台(IoT Hub):提供全面的物联网解决方案,支持设备连接、数据管理、消息通信等功能。产品介绍链接
  • 腾讯云区块链服务(Tencent Blockchain):提供安全高效的区块链服务,支持快速搭建和管理区块链网络。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

DRV_07_UInput分析_用户态创建input_dev

clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 UInput分析_用户态创建input_dev...概念 uinput是一个内核模块(驱动),它允许应用程序模拟输入设备(input_dev)。...应用程序通过访问/dev/uinput或/dev/input/uinput: 创建一个虚拟的输入设备 设置它的属性 APP发送数据给它,让它产生输入事件 uinput就会把这些输入事件分发给其他使用者(...mount -t nfs -o nolock,vers=3 10.0.2.2:/home/book/nfs_rootfs /mnt $ insmod /mnt/uinput.ko $ ls -l /dev...should run ts_calibreate // 运行校准程序 // 注意:如果有真实的触摸屏驱动,需要指定使用虚拟的设备节点 // 方法示例: export TSLIB_TSDEVICE=/dev

77620

原创 Paper | USB设备开发:从入门到实践指南(三)

第二个问题:为什么上一篇文章中模拟的Switch Pro手柄只创建了/dev/input/eventX却没有/dev/input/jsX? 关于该问题,我们就需要加深一点对内核input驱动的了解。...最后再调用input_register_device函数,如果没有意外,一个input事件就注册成功了,我们就可以通过/dev/input/eventX文件来进行通信,上一篇文章中提过,eventX文件的结构体如下所示...函数,就会把设置好的手柄输入传送到/dev/input/eventX文件中,我们通过eventX文件读取到的内容就是这么产生的。...2.2 注册手柄驱动 目前Linux下绝大部分手柄的客户端程序都是通过读取/dev/input/jsX文件获取手柄输入的数据,在上一篇Paper中,我们模拟的XBox手柄就能成功生成/dev/input...在上一篇文章中,讲述的读取/dev/input/jsX的数据,正好能上面的代码对应上。

14510

原创 Paper | USB设备开发:从入门到实践指南(二)

/input/目录下生成jsXeventX文件,因为在Linux上使用手柄的软件都是通过/dev/input/jsX文件来手柄进行交互的。.../event6 成功加载出eventX文件,但是却没加载出jsX文件,目前认为是nintendo驱动导致的问题。...不过也不能说该驱动毫无用处,如果我们想使用Switch手柄,仍然能通过读取eventX来获取手柄的输入,不过eventX的结构体jsX的不同,eventX的结构体为input_event,结构体定义如下所示...input_event结构体js_event结构的关系进行进一步研究,猜测jsX的数据是根据eventX的数据进行一些处理后生成的,该问题待后续进一步研究。...后续文章中,将会对/dev/input/eventX事件进行深入研究,还有会对非HID的USB进行研究学习。

18210

嵌入式输入系统应用编程

⑤ APP 对输入事件的处理: APP 获得数据的方法 2 种:直接访问设备节点(比如/dev/input/event0,1,2,…),或者通过 tslib、 libinput 这类库来间接访问设备节点...使用 input_dev 结构体来表示输入设备,它的内容如下: ? APP 可以得到什么数据?...1.2.3 调试技巧 确定设备信息 输入设备的设备节点名为/dev/input/eventX(也可能是/dev/eventX,X 表示 0、1、2 等数字)。...查看设 备节点,可以执行以下命令: ls /dev/input/* -l 或 ls /dev/event* -l 可以看到类似下面的信息: ? 怎么知道这些设备节点对应什么硬件呢?...使用命令读取数据 调试输入系统时,直接执行类似下面的命令,然后操作对应的输入设备即可读出数据: hexdump /dev/input/event0 在开发板上执行上述命令之后,点击按键或是点击触摸屏,

1.4K30

如何跨app对其他应用进行虚拟点击

sendevent工具的原理是通过向设备节点 dev/input/eventX 写入事件,我们也可以用这个原理做同样的事情。 准备工作 root设备。。。...device 4: /dev/input/event2 name: "qpnp_pon" could not get driver version for /dev/input/mouse0..." add device 9: /dev/input/event4 name: "ft5x46" 可以看到各种不同的设备节点,它们对应不同的输入设备。...如果在 getevent -l执行后触摸屏幕的话会看到一串输入事件, /dev/input/event4: EV_ABS ABS_MT_TRACKING_ID 00000062 /dev...总结 关于上面的代码具体的demo,可以后台回复"虚拟点击"获取。 虽然说这个方案不需要连接PC,但是缺点也是很明显的。 它需要手机 root权限,而且需要手动关闭 SELinux。

2.1K10

嵌入式输入系统框架及调试

输入系统框架如下图所示: 假设用户程序直接访问/dev/input/event0设备节点,或者使用tslib访问设备节点,数据的流程如下: ① APP 发起读操作,若无数据则休眠; ② 用户操作设备...⑤ APP 对输入事件的处理: APP 获得数据的方法 2 种:直接访问设备节点(比如/dev/input/event0,1,2,…),或者通过 tslib、 libinput 这类库来间接访问设备节点...使用 input_dev 结构体来表示输入设备,它的内容如下: APP 可以得到什么数据?...7.2.3 调试技巧 确定设备信息 输入设备的设备节点名为/dev/input/eventX(也可能是/dev/eventX,X 表示 0、1、2 等数字)。...查看设备节点,可以执行以下命令: ls /dev/input/* -l 或 ls /dev/event* -l 怎么知道这些设备节点对应什么硬件呢?

82120

组件化实战——组件知识基础轮播组件

组件的基本知识 1.1.1 前端两大重点内容 组件化:解决复用问题 架构模式:如MVC、MVVM等,解决前端和数据逻辑层的交互问题 1.1.1.2 组件的理解 组件可以看作特殊的对象模块,它UI是强相关的...> var input = document.getElementByTagName("input"); // 若property没有设置,则结果是attribute input.value /...语法 1.2.1 搭建支持jsx语法的环境 jsx是babel的插件,因此要依次安装webpack,babel-loader, babelbabel-plugin 安装webpack,用于静态模块打包.../preset-env 安装react-jsx插件用于在js中能够使用jsx npm install --save-dev @babel/plugin-transform-react-jsx 安装完后还要在...ps:如果觉得此文对你帮助或启发,请顺手点赞分享,这是对我的最大鼓励,如有疑问,请留言或私信交流,看到会及时回复 内推社群 我组建了一个氛围特别好的腾讯内推社群,如果你对加入腾讯感兴趣的话(后续计划也可以

87840

Android手机上用户操作模拟方法的研究与实现

Monkey之所以不会出这个异常,是因为它与系统一起发布,拥有系统一样的签名。 因此笔者想是否其他的方法可以跨进程模拟用户操作,且还能在不同的手机上适用。...= null) { int injectCode = ev.injectEvent(mWm, mAm, mVerbose); } MonkeyEvent模拟系统里面的Input EventMonkeyKeyEvent...如图1所示, 图中的/dev/input/eventX就是所谓输入设备节点文件,它是硬件设备提供给系统的设备接口文件。 ?...在这个手机上/dev/input/event2就是触摸屏的设备节点文件。...找到了这个设备文件后,可以通过命令adb shell getevent /dev/input/event2读这个设备的事件信息,轻点一下手机屏幕,再查看getevent接收到的数据,结果如图4所示。

4.4K60

嵌入式Linux:Linux系统文件目录说明

在Linux系统中,系统文件目录按照一定的约定被组织分配到不同的位置。这些文件目录通常用于存储系统配置、程序文件、库文件等。.../dev:包含设备文件,Linux中一切皆文件,这里存放了与设备通信的特殊文件,如硬盘分区(/dev/sda1)、键盘(/dev/input/eventX)等。...因此,文件系统的组织可能会更加简化,以节省资源提高性能。...引导启动过程 嵌入式系统的引导启动过程可能与桌面系统不同,可能会使用不同的引导加载程序(Bootloader)启动方式,因此文件系统的布局可能会根据这些差异进行调整。...总的来说,嵌入式系统桌面系统之间的文件系统差异主要是由于其不同的设计目标、应用场景硬件平台所致。因此,文件系统的组织方式在不同的系统中可能会有所不同。

6900
领券