📄 testkey.c
字号:
#include <stdio.h>#include <stdlib.h> //system#include <fcntl.h>#include <errno.h>#include <unistd.h>#include <linux/delay.h>#include <sys/ioctl.h>static unsigned int keysnd[16] = {900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200, 2300, 2400};int main(int argc, char *argv[]){ char *devname[] = { "/dev/keypad/0", NULL }; char cmd[32]; int i, fd = -1; char buf; for(i=0; devname[i]; i++) { fd = open(devname[i], O_RDONLY); if(fd<0) fprintf(stderr, "Open %s fail!\n", devname[i]); else { fprintf(stdout, "Open %s success\n", devname[i]); break; } } if(fd<0) { fprintf(stderr, "Can't find any keypad device!\n"); return -1; } //getchar(); while(1) { int i; i = read(fd, (char *)&buf, 1); if(i<0) { fprintf(stderr, "read fail! %d\n", i); break; } sprintf(cmd, "echo -ne '\033[10;%d]' > /dev/tty1", keysnd[buf&0xf] + ((buf&0x80)?50:0)); system(cmd); system("echo -ne '\a' > /dev/tty1"); fprintf(stdout, "key 0x%x %s\n", buf&0x7f, (buf&0x80) ? "up" : "down"); } close(fd); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -