Linux查看键鼠输入

server/2024/12/23 11:06:49/

文章目录

    • 通过打开input设备来读取输入
    • 通过第三方程序获取
      • xev
      • xinput
      • evtest
    • 参考

本文简单介绍几种在linux下查看键鼠输入的方法

通过打开input设备来读取输入

程序如下,使用时需要看情况修改input设备路径

#include <fcntl.h>
#include <linux/input.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#define DEV_PATH "/dev/input/event1" // difference is possible
int main()
{int keys_fd;char ret[2];struct input_event t;keys_fd = open(DEV_PATH, O_RDONLY);if (keys_fd <= 0) {printf("open /dev/input/event1 device error!\n");return -1;}while (1) {if (read(keys_fd, &t, sizeof(t)) == sizeof(t)) {if (t.type == EV_KEY)if (t.value == 0 || t.value == 1) {printf("key %d %s\n", t.code, (t.value) ? "Pressed" : "Released");if (t.code == KEY_ESC)break;}}}close(keys_fd);return 0;
}

通过第三方程序获取

xev

xinput

evtest

参考

Linux捕捉鼠标事件和键盘事件的方法


http://www.ppmy.cn/server/152472.html

相关文章

每天40分玩转Django:Django缓存视图

Django缓存视图 一、今日学习内容概述 学习模块重要程度主要内容视图缓存基础⭐⭐⭐⭐⭐缓存装饰器、缓存配置基于会话缓存⭐⭐⭐⭐⭐会话存储、用户相关缓存动态缓存处理⭐⭐⭐⭐条件缓存、缓存失效缓存优化策略⭐⭐⭐⭐性能优化、最佳实践 二、缓存配置示例 # settings.p…

中软高科身份证云解码金融(银行)解决方案介绍

多年来&#xff0c;中软高科一直深耕身份证云解码领域&#xff0c;对身份证云解码应用于金融&#xff08;银行&#xff09;&#xff0c;进行了大量且深入的研究。从长期调研来看&#xff0c;金融&#xff08;银行&#xff09;的痛点需求主要有&#xff1a; 传统身份证解码设备…

一篇文章掌握WebService服务、工作原理、核心组件、主流框架

目录 1、WebService定义 解决问题&#xff1a; 2、WebService的工作原理 2.1 实现一个完整的Web服务包括以下步骤 2.2 调用方式 3、Web Service的核心组件 3.1 XML 3.2 SOAP 3.3 WSDL 3.4 UDDI 4、主流框架 4.1 AXIS(已淘汰) 4.2 XFire 4.3 CXF 5、Soap协议详解…

Farfalle - 开源的AI搜索引擎

2600 Stars 232 Forks 32 Issues 4 贡献者 Apache-2.0 License Python 语言 代码: https://github.com/rashadphz/farfalle 主页: Farfalle 演示: Farfalle 更多AI开源软件&#xff1a;https://www.aiinn.cn/sources FarFalle 是一款开源的AI搜索引擎项目&#xff0c;类似Perpl…

AI Agent案例全解析:百度营销智能体(8/30)

引言&#xff1a;在当今这个科技飞速发展的时代&#xff0c;AI技术呈现出爆发式的增长&#xff0c;正以前所未有的态势改变着众多行业的发展轨迹&#xff0c;营销领域也不例外。随着市场竞争的日益激烈&#xff0c;传统营销模式逐渐显露出疲态&#xff0c;对于变革的需求愈发迫…

Golang 的并发优势

在如今的编程领域&#xff0c;一个程序能够同时处理多个任务的能力非常重要&#xff0c;这就是所谓的并发处理。而 Golang 在并发编程方面表现十分出色&#xff0c;具有很多独特的优势&#xff0c;简直不要太简单。 一、轻量级的协程&#xff08;Goroutine&#xff09; 在传统…

JUC并发同步工具在大厂中应用实战

常用并发同步工具类的真实应用场景 jdk提供了比synchronized更加高级的各种同步工具&#xff0c;包括ReentrantLock、Semaphore、CountDownLatch、CyclicBarrier等&#xff0c;可以实现更加丰富的多线程操作。 https://www.processon.com/view/link/6620b9d763dc8148f6486eda…

一起学Git【第四节:添加和提交文件】

通过前三节的学习,基本上对Git有了初步的了解,下面开始进行文件的添加和提交的流程。 这里主要涉及四个命令: git init 创建仓库git status查看仓库状态git add添加至暂存区git commit提交文件之前已经使用过git init命令了,此处不再具体讲解。参照一起学Git【第二节:创建…