Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1253959
  • 博文数量: 479
  • 博客积分: 12240
  • 博客等级: 上将
  • 技术积分: 4999
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-24 17:12
文章分类

全部博文(479)

文章存档

2014年(1)

2013年(1)

2012年(1)

2011年(95)

2010年(177)

2009年(167)

2008年(16)

2007年(21)

分类: LINUX

2010-10-25 20:07:46


一个简单的键盘测试程序。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <fcntl.h>
#include <linux/input.h>

 //event设备在不同系统上需要进行更改
#define KEY_DEV "/dev/input/event2"

int main()
{
        static int fd = -1;
        static struct input_event event;

        if ( (fd = open(KEY_DEV, O_RDONLY)) < 0) {
                printf("Error open %s\n\n", KEY_DEV);
                exit(1);
        }

        while(1) {
                read(fd, &event, sizeof(event));
                if (event.type == EV_KEY)
                        printf(" type: EV_KEY, event = %d, value = %d\n", event.code, event.value);
        }

//value的值:0——释放 1——按下 2——一直按下(重复)

        return 0;
}


测试结果:
chenxibing@chenxibing-desktop:~/git/input_test$ sudo ./key_test 
  type: EV_KEY, event = 28, value = 0
  type: EV_KEY, event = 33, value = 1
f  type: EV_KEY, event = 33, value = 0
  type: EV_KEY, event = 34, value = 1
g  type: EV_KEY, event = 34, value = 0
  type: EV_KEY, event = 35, value = 1
h  type: EV_KEY, event = 35, value = 0
  type: EV_KEY, event = 29, value = 1
  type: EV_KEY, event = 46, value = 1



阅读(2281) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~