testkey.c

来自「这个源码相信对很多用arm开发板开发的人会有用的」· C语言 代码 · 共 57 行

C
57
字号
#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 + =
减小字号Ctrl + -
显示快捷键?