现在我正在直接从/ dev / input / eventX中读取。是否有一些库或API可以为我转换字节流?下面是我正在运行的代码,示例输入和输出。
int main (void)
{
struct input_event ev;
int fd,rd;
//Open Device
if ((fd = open ("/dev/input/event0",O_RDONLY)) == -1){
printf ("not a vaild device.\n");
return -1;
}
while (1){
memset((void*)&ev,sizeof(ev));
rd = read (fd,(void*)&ev,sizeof(ev));
if (rd > 0 && ev.type==1){
printf("value: %d,code: %d\n",ev.value,ev.code);
}
}
如果我输入
XAL4
我得到:
value: 1,code: 42
value: 1,code: 45
value: 0,code: 42
value: 0,code: 45
value: 1,code: 30
value: 0,code: 30
value: 1,code: 38
value: 0,code: 38
value: 1,code: 5
value: 0,code: 5
我知道键的顺序是:
KEY_DOWN: SHIFT
KEY_DOWN: X
KEY_UP: SHIFT
KEY_UP: X
KEY_DOWN: SHIFT
KEY_DOWN: A
KEY_UP: SHIFT
KEY_UP: A
KEY_DOWN: SHIFT
KEY_DOWN: L
KEY_UP: SHIFT
KEY_UP: L
KEY_DOWN: 4
KEY_UP: 4
有没有可以将其转换为原始ascii的库或api?