一、input子系统相关结构体
二、input子系统实例实现:
static struct input_dev *key_input;
......
......
/* 1.申请空间 */
key_input = input_allocate_device();
if(key_input == NULL){
printk("input alloc failed\n");
return -ENOMEM;
}
/* 2.设置事件类型 */
set_bit(EV_KEY, key_input->evbit);
set_bit(EV_SYN, key_input->evbit);
/* 3.设置子事件:具体按键 */
set_bit(KEY_L,key_input->keybit);
set_bit(KEY_S,key_input->keybit);
set_bit(KEY_ENTER,key_input->keybit);
/* 4.注册input子系统 */
err = input_register_device(key_input);
if(err){
printk("input register failed\n");
return -EAGAIN;
}
三、测试结果
自定义了三个按键
按键1:l 键
按键2:s键
按键3:Enter键
如 果 在 ubuntu上 看 到 现 象
ctrl+alt+F1 (虚 拟 终 端 )
ctrl+alt+F7 (退 出 虚 拟 终 端)
如果想在板子上看到现象
exec 0</dev/tty1
input子系统详细介绍刊此链接:Linux input 子系统详解