linux c/c++监听鼠标或键盘事件

1、输入设备在文件/proc/bus/input/devices中,如:

其中Handlers=kbd event2,说明其值可以在/dev/input文件夹的event2文件中读到,文件夹内容:

2、可能是受虚拟机影响,鼠标事件并不能从mousex系列的文件中读到,而是event3,键盘是event2,完整程序如下:

#include <stdio.h>
#include <iostream>
#include <linux/input.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>int main(int argc,char** argv)
{int keys_fd;char ret[2];struct input_event t;keys_fd=open(argv[1],O_RDONLY);if(keys_fd<=0){   printf("error\n");return -1; }   while(1){   read(keys_fd,&t,sizeof(struct input_event));if(t.type==1)printf("key %i state %i \n",t.code,t.value);}   close(keys_fd);return 0;
}

3、键盘事件效果:

linux c/c++监听鼠标或键盘事件相关推荐

  1. python监听鼠标事件_Python中使用PyHook监听鼠标和键盘事件实例

    Python 中使用 PyHook 监听鼠标和键盘事件实例 PyHook 是一个基于 Python 的"钩子"库,主要用于监 听当前电脑上鼠标和键盘的事件.这个库依赖于另一个 Py ...

  2. python获取键盘事件_50-用Python监听鼠标和键盘事件

    PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在W ...

  3. python的pynput模块控制鼠标、键盘和监听鼠标、键盘事件

    前言 本来在做图形界面时想用监听键盘的方式来实现,快捷键功能的.运用多线程一个线程是运行图形界面,另一个线程监听键盘的动作.可使用的时候发现不太协调,两个进程虽然都能运行但是图形界面会有时卡住,看了文 ...

  4. python鼠标监听_用Python监听鼠标和键盘事件

    PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在W ...

  5. 监听鼠标移入移出事件

    $(".icon").on({mouseenter: function () {$('#imageUploadTips').show();},mouseleave: functio ...

  6. Python监听鼠标左键被点击,gogo,急停,

    最后的核心目的是:为了对cscsgogo的中的进行急停 安装基本的软件包 import pyHook # 注意事项,1.不要安装pyHook2 (会报错TypeError: MouseSwitch() ...

  7. html5鼠标事件监听,HTML5 Canvas鼠标与键盘事件

    演示HTML5 Canvas鼠标事件,获取Canvas对象上的鼠标坐标,演示键盘事件 通过键盘控制Canvas上对象移动. Canvas对象支持所有的JavaScript的鼠标事件,包括鼠标点击(Mo ...

  8. python pyhook监听扫码_Python——pyHook监听鼠标键盘事件

    pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...

  9. java 监听鼠标点击_java 事件监听 - 鼠标

    java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...

最新文章

  1. 如何更优雅地对接第三方API
  2. Android之Toast---消息提示
  3. 写给Lewis的-URL处理几个关键的函数parse_url、parse_str与http_build_query
  4. C#操作符??和?:
  5. mac安装和卸载mysql_小白自学MySQL笔记(一):Mac环境的安装和启动
  6. MyEclipse使用总结——MyEclipse去除网上复制下来的来代码带有的行号
  7. thinkphp两表联查并且分页
  8. [转]CocoaPods安装和使用教程
  9. C++ 序列化和反序列化学习
  10. Java编程学习中必须掌握的13个核心技术
  11. 【英语学习】【English L06】U01 Breakfast L3 I'm full from my brunch
  12. 风吹来_“秃如其来”的年轻人,如何才能让头发“春风吹又生”?
  13. oracle sha2,Oracle11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579
  14. 用姿态补偿雷达数据畸变的文字想法
  15. 职场 | 算法是怎样决定你的职业生涯的
  16. 享20个Android游戏源码
  17. 华中农大计算机排名,华中农业大学专业排名,招生专业目录(10篇)
  18. 在线框架引用|bootstrap|jq|jqmobile|CSS框架_无需整理
  19. Block insecure private network requests
  20. 中国银行软件中心信息技术岗(北京 )面试

热门文章

  1. IOS 界面设计基本知识(HIG)
  2. 开口电流互感器厂家(安科瑞-卓宋兰)
  3. STM32驱动TEA5767收音机模块
  4. 《Effective Java》阅读笔记7 避免使用终结方法
  5. iNFTnews | 当医学和元宇宙发生碰撞时,会怎样?
  6. QIBM_QDB_OPEN:打开数据库文件退出程序
  7. VirtualBox虚拟网络环境配置【两台虚拟机互通】
  8. React关于 this.props.children 总结
  9. MyBatis删除数据
  10. 【快速检测GPU性能】