《Android系统学习》第一章:Input子系统驱动部分

一、Input设备(鼠标、键盘、触摸板)的Linux Driver

input core提供的接口:

motion_touchpad = input_allocate_device();    //创建input设备
set_bit(ABS_MT_TOUCH_MAJOR, motion_touchpad->keybit);
set_bit(ABS_MT_POSITION_X, motion_touchpad->keybit);
set_bit(ABS_MT_POSITION_Y, motion_touchpad->keybit);
set_bit(ABS_X, motion_touchpad->keybit);
set_bit(ABS_Y, motion_touchpad->keybit);    //input设备功能声明;如支持的事件类型(EV_KEY、EV_REL、EV_ABS),支持的按键类型(BTN_LEFT等)
input_set_abs_params(motion_touchpad, ABS_MT_POSITION_X,
        0, /*max_y*/max_x, 0, 0);
input_set_abs_params(motion_touchpad, ABS_MT_POSITION_Y,
        0, /*max_x*/max_y, 0, 0);

input_set_abs_params(motion_touchpad, ABS_MT_TOUCH_MAJOR,
            0, 50, 0, 0);
input_set_abs_params(motion_touchpad, ABS_PRESSURE, 0,
            50, 0, 0);

input_set_abs_params(motion_touchpad, ABS_TOOL_WIDTH, 0,
            50, 0, 0);
input_set_abs_params(motion_touchpad, ABS_MT_WIDTH_MAJOR, 0,
            50, 0, 0);               //input支持事件的具体配置
input_report_abs(motion_touchpad, ABS_X, fingers_xy[0]);  //上报绝对坐标
input_report_key(motion_touchpad, BTN_2 , f2z > 0);    //上报按键
input_report_rel(motion_mouse, cmd.event.code, cmd.event.value);   //上报相对坐标


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值