[IT.Log]한푼이라도 벌어야지?/Application

Android KeyCode(qwerty.kl) 정리

니키니트 2014. 4. 29. 17:24

PC에서 Android 기기에  원격 접속하여 컨트롤 하는 어플을 개발 중 엄청난 시간을 잡아먹은 Android KeyCode 에 대해 정리해 놓겠다.

보통 우리가 PC에서 키보드로 입력을 하면 내부적으로 ASCII코드(자바스크립트 코드)로 입력 된다.

안드로이드에서 우리가 소프트웨어 키보드로 입력을 하면 내부적으로 Android KeyCode로 입력 된다.

즉, PC의 키보드로 입력한 ASCII코드 ---> Android KeyCode 와 매핑 시켜 주어야 하는 작업이 필요하다.

구글에서 qwerty.kl이라 검색하면 최상단에 Android KeyCode관련 링크가 나온다. 헌데 키보드의 모든 키를 다 알려주지 못하는데서 문제가 발생한다. 흥4

이리저리 구글링과 실제 폰에 생체 실험을 통해 알아낸 코드는 다음과 같다.

중간 중간 매핑되는 Android KeyCode가 없는 것을 볼 수 있을 것이다. 이는 필요없는 키이거나 NumberPad쪽일텐데.

연산자와 숫자는 왼편의 shift+숫자를 이용하여 매핑시키면 된다. 휴~

자판기 모양의 이미지에 ASCII코드와 Android KeyCode를 서로 다른 색깔로 구별해서 표현해주면 더 보기 쉽겠지만... 생각만...ㅋㅋㅋ 누군가 하겠지하는 올바른 생각^^

 

 

// option key 
SPACE = 32 ->57
ENTER = 13 ->28
TAB = 9 ->15
ESCAPE = 27 ->158
BACK_SPACE = 8 ->14
SHIFT = 16 ->42
CONTROL = 17 ->113
ALT = 18 ->56
CAPS_LOCK = 20 ->58
NUM_LOCK = 144
PAUSE = 19
SCROLL_LOCK = 145
LANGUAGE_SWITCH = 21

 

// 0 ~ 9
0 = 48 ->11
1 = 49 ->2
2 = 50 ->3
3 = 51 ->4
4 = 52 ->5
5 = 53 ->6
6 = 54 ->7
7 = 55 ->8
8 = 56 ->9
9 = 57 ->10

 

// A ~ Z
A = 65 ->30
B = 66 ->48
C = 67 ->46
D = 68 ->32
E = 69 ->18
F = 70 ->33
G = 71 ->34
H = 72 ->35
I = 73 ->23
J = 74 ->36
K = 75 ->37
L = 76 ->38
M = 77 ->50
N = 78 ->49
O = 79 ->24
P = 80 ->25
Q = 81 ->16
R = 82 ->19
S = 83 ->31
T = 84 ->20
U = 85 ->22
V = 86 ->47
W = 87 ->17
X = 88 ->45
Y = 89 ->21
Z = 90 ->44

 

//기호

// :
SEMICOLON = 186 ->39

// = +
EQUALS = 187 ->13

// , <
COMMA = 188 ->51

// - _
MINUS = 189 ->12

// . >
PERIOD = 190 ->52

// / ? 
SLASH = 191  ->53

// ` ~ 
BACK_QUOTE = 192 ->399

// [ { 
OPEN_BRACKET = 219 ->26

// \ |
BACK_SLASH = 220 ->43

// ] }
CLOSE_BRACKET = 221 ->27

// ' " 
QUOTE = 222 -> 40

 

//방향키
//LEFT ARROW 
LEFT = 37  ->105

//UP ARROW
UP = 38   ->103

//RIGHT ARROW
RIGHT = 39  ->106

//DOWN ARROW
DOWN = 40  ->108

 

//안드로이드에서 굳이 필요 없는 키
INSERT = 45

DELETE = 46

HOME = 36

END = 35

PAGE_UP = 33

PAGE_DOWN = 34


F1 = 112
F2 = 113
F3 = 114
F4 = 115
F5 = 116
F6 = 117
F7 = 118
F8 = 119
F9 = 120
F10 = 121
F11 = 122
F12 = 123


NUMPAD0 = 96
NUMPAD1 = 97
NUMPAD2 = 98
NUMPAD3 = 99
NUMPAD4 = 100
NUMPAD5 = 101
NUMPAD6 = 102
NUMPAD7 = 103
NUMPAD8 = 104
NUMPAD9 = 105
NUMPADDOT = 110

 

// NUMPAD +
ADD = 107

// NUMPAD -
SUBTRACT = 109

// NUMPAD *
MULTIPLY = 106

// NUMPAD /
DIVIDE = 111