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的值对应起来。
在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的值对应起来。
相关文章推荐
- android平台按键驱动[基于x210开发板]
- android平台矩阵键盘驱动[基于x210开发板]
- android平台矩阵键盘驱动[基于x210开发板]
- android平台init.rc脚本修改-[基于x210开发板]
- S5PV210 Android 矩阵键盘驱动[基于x210开发板]
- android平台busybox的终极解决方案---基于x210开发板
- 降龙十八掌搞定rt3070 USB WIFI模块在android2.3平台上上网[基于x210开发板]
- S5PV210 Android 矩阵键盘驱动[基于x210开发板]
- android平台busybox的终极解决方案---基于x210开发板
- 在s5pv210开发板的android平台上添加busybox的支持[基于x210开发板]
- 降龙十八掌搞定rt3070 USB WIFI模块在android2.3平台上上网[基于x210开发板]
- S5PV210 Android 矩阵键盘驱动[基于x210开发板]
- 降龙十八掌搞定rt3070 USB WIFI模块在android2.3平台上上网[基于x210开发板]
- 降龙十八掌搞定rt3070 USB WIFI模块在android2.3平台上上网[基于x210开发板]
- android平台init.rc脚本修改-[基于x210开发板]
- android平台init.rc脚本修改-[基于x210开发板]
- android平台busybox的终极解决方案---基于x210开发板
- android4.0平台通过IOCTL控制LED-基于x210v3开发板
- 基于Android平台应用程序的关键字驱动自动化测试
- A10开发板增加红外驱动及android层红外按键修改介绍