⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keypad.c

📁 SAMSUNG S3C4510B 键盘驱动
💻 C
字号:
/*
#include <linux/ioctl.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>*/
#include <unistd.h>
#include <fcntl.h>

static int fd = -1;


void main(void)
{
int result;
char buf[2]={0,};
fd=open("/dev/keypad",O_NONBLOCK,0);
if(fd<0) 
{
	return -1;
	printf("Can't open\n");
}
while(1)
  {
	result= read(fd,buf,sizeof(buf)); 
	
   if(result>0)
    {
	printf("result = %d \n", result);
	if(buf[0]==0x01){
		if(buf[1] == 0x0) printf("z");
		else if(buf[1] == 0x1) printf("1");
		else if(buf[1] == 0x2) printf("2");
		else if(buf[1] == 0x3) printf("3");
		else if(buf[1] == 0x4) printf("4");
	}
	else if(buf[0] == 0x02){
		if(buf[1] == 0x0) printf("a");
		else if(buf[1] == 0x1) printf("b");
		else if(buf[1] == 0x2) printf("c");
		else if(buf[1] == 0x3) printf("d");
		else if(buf[1] == 0x4) printf("e");
	}
	else if(buf[0] == 0x04){
		if(buf[1] == 0x0) printf("t");
		else if(buf[1] == 0x1) printf("f");
		else if(buf[1] == 0x2) printf("g");
		else if(buf[1] == 0x3) printf("h");
		else if(buf[1] == 0x4) printf("i");
	}
	else if(buf[0] == 0x08){
		if(buf[1] == 0x0) printf("j");
		else if(buf[1] == 0x1) printf("k");
		else if(buf[1] == 0x2) printf("l");
		else if(buf[1] == 0x3) printf("m");
		else if(buf[1] == 0x4) printf("n");
	}
	else if(buf[0] == 0x10){
		if(buf[1] == 0x0) printf("o");
		else if(buf[1] == 0x1) printf("p");
		else if(buf[1] == 0x2) printf("q");
		else if(buf[1] == 0x3) printf("r");
		else if(buf[1] == 0x4) printf("s");
	}
	else if(buf[0] == 0x20){
		if(buf[1] == 0x0) printf("u");
		else if(buf[1] == 0x1) printf("v");
		else if(buf[1] == 0x2) printf("w");
		else if(buf[1] == 0x3) printf("x");
		else if(buf[1] == 0x4) printf("y");
	}	
    }
  }
}

#if 0
void main(void)
{
int result;
char buf[2]={0,};
fd=open("/dev/keypad",O_NONBLOCK,0);
if(fd<0) return -1;
while(1)
  {
	result= read(fd,buf,sizeof(buf)); 
   if(result>0)
    {

	if(buf[0]==0x01){
		if(buf[1] == 0x0) printk('Z');
		else if(buf[1] == 0x1) write(1,"1",1);
		else if(buf[1] == 0x2) write(1,"2",1);
		else if(buf[1] == 0x3) write(1,"3",1);
		else if(buf[1] == 0x4) write(1,"4",1);
	}
	else if(buf[0] == 0x02){
		if(buf[1] == 0x0) write(1,"U",1);
		else if(buf[1] == 0x1) write(1,"V",1);
		else if(buf[1] == 0x2) write(1,"W",1);
		else if(buf[1] == 0x3) write(1,"X",1);
		else if(buf[1] == 0x4) write(1,"y",1);
	}
	else if(buf[0] == 0x04){
		if(buf[1] == 0x0) write(1,"P",1);
		else if(buf[1] == 0x1) write(1,"Q",1);
		else if(buf[1] == 0x2) write(1,"R",1);
		else if(buf[1] == 0x3) write(1,"S",1);
		else if(buf[1] == 0x4) write(1,"T",1);
	}
	else if(buf[0] == 0x08){
		if(buf[1] == 0x0) write(1,"K",1);
		else if(buf[1] == 0x1) write(1,"L",1);
		else if(buf[1] == 0x2) write(1,"M",1);
		else if(buf[1] == 0x3) write(1,"N",1);
		else if(buf[1] == 0x4) write(1,"O",1);
	}
	else if(buf[0] == 0x10){
		if(buf[1] == 0x0) write(1,"F",1);
		else if(buf[1] == 0x1) write(1,"G",1);
		else if(buf[1] == 0x2) write(1,"H",1);
		else if(buf[1] == 0x3) write(1,"I",1);
		else if(buf[1] == 0x4) write(1,"J",1);
	}
	else if(buf[0] == 0x20){
		if(buf[1] == 0x0) write(1,"A",1);
		else if(buf[1] == 0x1) write(1,"B",1);
		else if(buf[1] == 0x2) write(1,"C",1);
		else if(buf[1] == 0x3) write(1,"D",1);
		else if(buf[1] == 0x4) write(1,"E",1);
	}	
    }
  }
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -