이솝 임베디드 포럼 WiKi 페이지는 이솝 임베디드 포럼 공동제작 보드를 사용하시는 회원님들이 자유롭게 업데이트 하실 수 있습니다.
[C100] 이솝 보드를 위한 Android Key Driver 수정 방법
조회 수 1019 추천 수 0 2012.08.14 20:48:37edit이솝 보드를 위한 Android Key Driver 수정 방법
이솝 보드에 장착된 6개의 키에 대해 구글 안드로이드에서 Key를 할당하는 방법에 대해 기술 합니다.
1. 키드라이버 수정
리눅스 커널 소스에서 drivers/input/keyboard/nt-key.h 파일을 엽니다. 보시면 코드 초반에 다음과 같은 항목이 있을 것 입니다.
/*
*
* Aesop key-pad header file (charles.park)
*
*/
#ifndef _AESOP_KEYPAD_H_
#define _AESOP_KEYPAD_H_
#define TRUE 1
#define FALSE 0
#define KEY_PRESS 1
#define KEY_RELEASE 0
#define MAX_MAIN_KEYPAD_CNT 8
#define MAIN_KEYPAD_MASK 0xFF
// For Joy-Key
#define MAX_JOYKEY_CNT 5
#define JOY_KEYPAD_MASK_1 0xf0
#define JOY_KEYPAD_MASK_2 0x10
//#define DEBUG_MSG
int AesopMainKeyPad_KeycodeMAX_MAIN_KEYPAD_CNT = {
KEY_VOLUMEUP, KEY_END, KEY_HOME, KEY_BACK, KEY_VOLUMEDOWN, KEY_SEND, KEY_POWER, KEY_MENU,
};
char AesopMainKeyPad_KeycodeStrMAX_MAIN_KEYPAD_CNT20 = {
"KEY_VOLUMEUP\n", "KEY_END\n", "KEY_HOME\n", "KEY_BACK\n", "KEY_VOLUMEDOWN\n", "KEY_SEND\n", "KEY_POWER\n", "KEY_MENU\n",
};
int AesopJoyKeyPad_KeycodeMAX_JOYKEY_CNT = {
KEY_RIGHT, KEY_LEFT, KEY_ENTER, KEY_DOWN, KEY_UP,
};
char AesopJoyKeyPad_KeycodeStrMAX_JOYKEY_CNT20 = {
"KEY_RIGHT\n", "KEY_LEFT\n", "KEY_ENTER\n", "KEY_DOWN\n", "KEY_UP\n",
};
2. 키 코드 수정 방법
위의 붉은 색 항목은 이솝 보드에서 각 키에 대한 키 코드를 할당해 놓은 것 입니다.
안드로이드에서 어플리케이션 종료를 담당하는 BACK 키를 할당하기 위해, 기존의 SEND 키를 다음과 같이 대체하도록 해봅니다.
int AesopMainKeyPad_KeycodeMAX_MAIN_KEYPAD_CNT = {
KEY_VOLUMEUP, KEY_END, KEY_HOME, KEY_BACK, KEY_VOLUMEDOWN, KEY_SEND, KEY_POWER, KEY_MENU,
};
char AesopMainKeyPad_KeycodeStrMAX_MAIN_KEYPAD_CNT20 = {
"KEY_VOLUMEUP\n", "KEY_END\n", "KEY_HOME\n", "KEY_BACK\n", "KEY_VOLUMEDOWN\n", "KEY_SEND\n", "KEY_POWER\n", "KEY_MENU\n",
};
int AesopMainKeyPad_KeycodeMAX_MAIN_KEYPAD_CNT = {
KEY_VOLUMEUP, KEY_END, KEY_HOME, KEY_BACK, KEY_VOLUMEDOWN, KEY_BACK, KEY_POWER, KEY_MENU,
};
char AesopMainKeyPad_KeycodeStrMAX_MAIN_KEYPAD_CNT20 = {
"KEY_VOLUMEUP\n", "KEY_END\n", "KEY_HOME\n", "KEY_BACK\n", "KEY_VOLUMEDOWN\n", "KEY_BACK\n", "KEY_POWER\n", "KEY_MENU\n",
};
이제, 커널을 다시 컴파일 하셔서 안드로이드를 올려보시면, 기존의 KEY_SEND가 KEY_BACK으로 대치되어 있는 것을 확인 할 수 있습니다.