代码:
//monitor.c
#include <stdio.h> #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 "); return -1; } while(1) { read(keys_fd, &t, sizeof(struct input_event)); printf("key %i state %i type %i ", t.code, t.value, t.type); } close(keys_fd); return 0; }
编译:gcc -o monitor monitor.c
查看外设:ls -l /dev/input/ # 外设有多个event0到event5,不确定哪个是鼠标哪个是键盘,可以都试试
执行:monitor /dev/input/event2