您的位置:首页 > 移动开发 > Android开发

android平台按键驱动[基于x210开发板]

2017-02-22 07:08 176 查看
按键驱动源码在kernel/arch/arm/mach-s5pv210/button-smdkv210.c中,源码很简单,

在s3c_button_probe函数中设置相关按键的寄存器,再开启定时器定时扫描。在定时器中断

函数s3cbutton_timer_handler中判断相应IO口的电平,达到监控按键的作用。

值得注意的是,当我们需要修改按键的功能时,需要和android层的按键匹配起来,具体通过

数组s3c_Keycode的定义以及按键配置表实现,驱动中定义如下:

static int s3c_Keycode[MAX_BUTTON_CNT] = {KEY_POWER, KEY_BACK, KEY_VOLUMEUP, KEY_VOLUMEDOWN};

这里表示定义四个按键,分别为POWER,返回,音量加,音量减。具体和device/samsung/smdkv210/s3c-button.kl中的定义对应,s3c-button.kl

内容如下:

key 116    ENDCALL           WAKE_DROPPED

key 103    DPAD_UP           WAKE_DROPPED

key 108    DPAD_DOWN         WAKE_DROPPED

key 105    DPAD_LEFT         WAKE_DROPPED

key 106    DPAD_RIGHT        WAKE_DROPPED

key 114    VOLUME_DOWN     WAKE

key 115    VOLUME_UP     WAKE

key 139    MENU              WAKE_DROPPED

key 158   BACK              WAKE_DROPPED

注意,这里s3c-button.kl的内容需和out/target/product/smdkv210/system/usr/keylayout/qwerty.kl的值对应起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: