/*
本代码是由linux系统捕获w,a,s,d键盘抬起放下
的c++代码由于本人是初学者,里面注释可能误
导大家对学术的认知不要见怪,这些api我也找了
一晚才写出来---------最后如果大家打不开的
话换要打开的文件把event1到event4都试以下
在此希望能帮助大家爱------作者:拼命三郎
*/
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<linux/input.h>
#include<cstdio>
#include<iostream>
class JP //声明一个键盘类
{
public:
void jcdqhax(int *df,struct input_event *mn); //实现参成员法
};
int main()
{
struct input_event mm; //定义一个读取按键的结构体
int fd;
if((fd=open("/dev/input/event1",O_RDONLY))==-1) //打开按键文件
{
perror("open error");
return -1;
}
JP tkcjp;//创建对象
tkcjp.jcdqhax(&fd,&mm); //创建一个键盘对象
return 0;
}
//检测输入抬起还是按下是生马等等
void JP::jcdqhax(int *df,struct input_event *mn) {
int fd=*df;
struct input_event mykey=*mn;
while(1)
{
read(fd,&mykey,sizeof(mykey));
if(mykey.type==EV_KEY)
{
printf("type:%#x,code:%d,value:%#x\
linux 系统键盘响应事件
最新推荐文章于 2023-09-15 15:22:12 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)