2024年4月28日发(作者:)

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

#define KEY_F11

#define KEY_F12

#define KEY_RO

#define KEY_KATAKANA

#define KEY_HIRAGANA

#define KEY_HENKAN

#define KEY_MUHENKAN

#define KEY_KPJPCOMMA

#define KEY_KPENTER

#define KEY_RIGHTCTRL

#define KEY_KPSLASH

#define KEY_SYSRQ

#define KEY_RIGHTALT

#define KEY_LINEFEED

#define KEY_HOME

#define KEY_UP

#define KEY_PAGEUP

#define KEY_LEFT

#define KEY_RIGHT

#define KEY_END

#define KEY_DOWN

#define KEY_PAGEDOWN

#define KEY_INSERT

#define KEY_DELETE

#define KEY_MACRO

#define KEY_MUTE

#define KEY_VOLUMEDOWN

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

#define KEY_KATAKANAHIRAGANA

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

#include

#include

#include

#include

#include