blob: 2b0d07161ea29869d9ff60a5aee789ae2f4cd75b [file] [log] [blame]
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -08001/* Copyright (C) 2007-2008 The Android Open Source Project
2**
3** This software is licensed under the terms of the GNU General Public
4** License version 2, as published by the Free Software Foundation, and
5** may be copied, distributed, and modified under those terms.
6**
7** This program is distributed in the hope that it will be useful,
8** but WITHOUT ANY WARRANTY; without even the implied warranty of
9** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10** GNU General Public License for more details.
11*/
12#ifndef _android_charmap_h
13#define _android_charmap_h
14
15#include "linux_keycodes.h"
16
17/* Keep it consistent with linux/input.h */
18typedef enum {
19 kKeyCodeSoftLeft = KEY_SOFT1,
20 kKeyCodeSoftRight = KEY_SOFT2,
21 kKeyCodeHome = KEY_HOME,
22 kKeyCodeBack = KEY_BACK,
23 kKeyCodeCall = KEY_SEND,
24 kKeyCodeEndCall = KEY_END,
25 kKeyCode0 = KEY_0,
26 kKeyCode1 = KEY_1,
27 kKeyCode2 = KEY_2,
28 kKeyCode3 = KEY_3,
29 kKeyCode4 = KEY_4,
30 kKeyCode5 = KEY_5,
31 kKeyCode6 = KEY_6,
32 kKeyCode7 = KEY_7,
33 kKeyCode8 = KEY_8,
34 kKeyCode9 = KEY_9,
35 kKeyCodeStar = KEY_STAR,
36 kKeyCodePound = KEY_SHARP,
37 kKeyCodeDpadUp = KEY_UP,
38 kKeyCodeDpadDown = KEY_DOWN,
39 kKeyCodeDpadLeft = KEY_LEFT,
40 kKeyCodeDpadRight = KEY_RIGHT,
41 kKeyCodeDpadCenter = KEY_CENTER,
42 kKeyCodeVolumeUp = KEY_VOLUMEUP,
43 kKeyCodeVolumeDown = KEY_VOLUMEDOWN,
44 kKeyCodePower = KEY_POWER,
45 kKeyCodeCamera = KEY_CAMERA,
46 kKeyCodeClear = KEY_CLEAR,
47 kKeyCodeA = KEY_A,
48 kKeyCodeB = KEY_B,
49 kKeyCodeC = KEY_C,
50 kKeyCodeD = KEY_D,
51 kKeyCodeE = KEY_E,
52 kKeyCodeF = KEY_F,
53 kKeyCodeG = KEY_G,
54 kKeyCodeH = KEY_H,
55 kKeyCodeI = KEY_I,
56 kKeyCodeJ = KEY_J,
57 kKeyCodeK = KEY_K,
58 kKeyCodeL = KEY_L,
59 kKeyCodeM = KEY_M,
60 kKeyCodeN = KEY_N,
61 kKeyCodeO = KEY_O,
62 kKeyCodeP = KEY_P,
63 kKeyCodeQ = KEY_Q,
64 kKeyCodeR = KEY_R,
65 kKeyCodeS = KEY_S,
66 kKeyCodeT = KEY_T,
67 kKeyCodeU = KEY_U,
68 kKeyCodeV = KEY_V,
69 kKeyCodeW = KEY_W,
70 kKeyCodeX = KEY_X,
71 kKeyCodeY = KEY_Y,
72 kKeyCodeZ = KEY_Z,
73
74 kKeyCodeComma = KEY_COMMA,
75 kKeyCodePeriod = KEY_DOT,
76 kKeyCodeAltLeft = KEY_LEFTALT,
77 kKeyCodeAltRight = KEY_RIGHTALT,
78 kKeyCodeCapLeft = KEY_LEFTSHIFT,
79 kKeyCodeCapRight = KEY_RIGHTSHIFT,
80 kKeyCodeTab = KEY_TAB,
81 kKeyCodeSpace = KEY_SPACE,
82 kKeyCodeSym = KEY_COMPOSE,
83 kKeyCodeExplorer = KEY_WWW,
84 kKeyCodeEnvelope = KEY_MAIL,
85 kKeyCodeNewline = KEY_ENTER,
86 kKeyCodeDel = KEY_BACKSPACE,
87 kKeyCodeGrave = 399,
88 kKeyCodeMinus = KEY_MINUS,
89 kKeyCodeEquals = KEY_EQUAL,
90 kKeyCodeLeftBracket = KEY_LEFTBRACE,
91 kKeyCodeRightBracket = KEY_RIGHTBRACE,
92 kKeyCodeBackslash = KEY_BACKSLASH,
93 kKeyCodeSemicolon = KEY_SEMICOLON,
94 kKeyCodeApostrophe = KEY_APOSTROPHE,
95 kKeyCodeSlash = KEY_SLASH,
96 kKeyCodeAt = KEY_EMAIL,
97 kKeyCodeNum = KEY_NUM,
98 kKeyCodeHeadsetHook = KEY_HEADSETHOOK,
99 kKeyCodeFocus = KEY_FOCUS,
100 kKeyCodePlus = KEY_PLUS,
David 'Digit' Turnerabe08222009-08-21 09:59:10 +0200101 kKeyCodeMenu = KEY_SOFT1,
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800102 kKeyCodeNotification = KEY_NOTIFICATION,
103 kKeyCodeSearch = KEY_SEARCH,
104
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -0800105} AndroidKeyCode;
106
107
108/* this defines a structure used to describe an Android keyboard charmap */
109typedef struct AKeyEntry {
110 unsigned short code;
111 unsigned short base;
112 unsigned short caps;
113 unsigned short fn;
114 unsigned short caps_fn;
115 unsigned short number;
116} AKeyEntry;
117
118typedef struct {
119 const AKeyEntry* entries;
120 int num_entries;
121 char name[ 32 ];
122} AKeyCharmap;
123
124extern const int android_charmap_count;
125extern const AKeyCharmap* android_charmaps[];
126
127#endif /* _android_charmap_h */