android按键驱动研究
Note 01 android 按键驱动研究
这部分的研究主要是android 按键驱动的改写。
1) Android 使用标准的linux 输入事件设备(/dev/input/ )和驱动按键定义在linux 内核include/linux/input.h 中,按键
的定义形式如下:
/*
* Keys and buttons
*
* Most of the keys/buttons are modeled after USB HUT 1.12
* (see /developers/hidpage).
* Abbreviations in the comments:
* AC ‐ Application Control
* AL ‐ Application Launch Button
* SC ‐ System Control
*/
#define KEY_ZENKAKUHANKAKU 85
#define KEY_102ND 86
#define KEY_F11 87
#define KEY_F12 88
#define KEY_RO 89
#define KEY_KATAKANA 90
#define KEY_HIRAGANA 91
#define KEY_HENKAN 92
#define KEY_KATAKANAHIRAGANA 93
#define KEY_MUHENKAN 94
#define KEY_KPJPCOMMA 95
#define KEY_KPENTER 96
#define KEY_RIGHTCTRL 97
#define KEY_KPSLASH 98
#define KEY_SYSRQ 99
#define KEY_RIGHTALT 100
#define KEY_LINEFEED 101
#define KEY_HOME 102
#define KEY_UP 103
#define KEY_PAGEUP 104
#define KEY_LEFT 105
#define KEY_RIGHT 106
#define KEY_END 107
#define KEY_DOWN 108
#define KEY_PAGEDOWN 109
#define KEY_INSERT 110
#define KEY_DELETE 111
#define KEY_MACRO 112
#define KEY_MUTE 113
#define KEY_VOLUMEDOWN 114
2) 由UT-S5PC100 底板原理图按键部分如下:
核心板原理图按键接口部分如下:
内核中(drivers/input/keyboard/s3c_botton.c )按键的驱动程序如下
/*
* Driver for keys on GPIO lines.
*
* Copyright 2009 jiangjianjun
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include
#include
#in