~ubuntu-branches/ubuntu/saucy/lazarus/saucy

« back to all changes in this revision

Viewing changes to lcl/interfaces/customdrawn/android/keycodes.pas

  • Committer: Package Import Robot
  • Author(s): Paul Gevers, Abou Al Montacir, Bart Martens, Paul Gevers
  • Date: 2013-06-08 14:12:17 UTC
  • mfrom: (1.1.9)
  • Revision ID: package-import@ubuntu.com-20130608141217-7k0cy9id8ifcnutc
Tags: 1.0.8+dfsg-1
[ Abou Al Montacir ]
* New upstream major release and multiple maintenace release offering many
  fixes and new features marking a new milestone for the Lazarus development
  and its stability level.
  - The detailed list of changes can be found here:
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_fixes_branch
* LCL changes:
  - LCL is now a normal package.
      + Platform independent parts of the LCL are now in the package LCLBase
      + LCL is automatically recompiled when switching the target platform,
        unless pre-compiled binaries for this target are already installed.
      + No impact on existing projects.
      + Linker options needed by LCL are no more added to projects that do
        not use the LCL package.
  - Minor changes in LCL basic classes behaviour
      + TCustomForm.Create raises an exception if a form resource is not
        found.
      + TNotebook and TPage: a new implementation of these classes was added.
      + TDBNavigator: It is now possible to have focusable buttons by setting
        Options = [navFocusableButtons] and TabStop = True, useful for
        accessibility and for devices with neither mouse nor touch screen.
      + Names of TControlBorderSpacing.GetSideSpace and GetSpace were swapped
        and are now consistent. GetSideSpace = Around + GetSpace.
      + TForm.WindowState=wsFullscreen was added
      + TCanvas.TextFitInfo was added to calculate how many characters will
        fit into a specified Width. Useful for word-wrapping calculations.
      + TControl.GetColorResolvingParent and
        TControl.GetRGBColorResolvingParent were added, simplifying the work
        to obtain the final color of the control while resolving clDefault
        and the ParentColor.
      + LCLIntf.GetTextExtentExPoint now has a good default implementation
        which works in any platform not providing a specific implementation.
        However, Widgetset specific implementation is better, when available.
      + TTabControl was reorganized. Now it has the correct class hierarchy
        and inherits from TCustomTabControl as it should.
  - New unit in the LCL:
      + lazdialogs.pas: adds non-native versions of various native dialogs,
        for example TLazOpenDialog, TLazSaveDialog, TLazSelectDirectoryDialog.
        It is used by widgetsets which either do not have a native dialog, or
        do not wish to use it because it is limited. These dialogs can also be
        used by user applications directly.
      + lazdeviceapis.pas: offers an interface to more hardware devices such
        as the accelerometer, GPS, etc. See LazDeviceAPIs
      + lazcanvas.pas: provides a TFPImageCanvas descendent implementing
        drawing in a LCL-compatible way, but 100% in Pascal.
      + lazregions.pas. LazRegions is a wholly Pascal implementation of
        regions for canvas clipping, event clipping, finding in which control
        of a region tree one an event should reach, for drawing polygons, etc.
      + customdrawncontrols.pas, customdrawndrawers.pas,
        customdrawn_common.pas, customdrawn_android.pas and
        customdrawn_winxp.pas: are the Lazarus Custom Drawn Controls -controls
        which imitate the standard LCL ones, but with the difference that they
        are non-native and support skinning.
  - New APIs added to the LCL to improve support of accessibility software
    such as screen readers.
* IDE changes:
  - Many improvments.
  - The detailed list of changes can be found here:
    http://wiki.lazarus.freepascal.org/New_IDE_features_since#v1.0_.282012-08-29.29
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes#IDE_Changes
* Debugger / Editor changes:
  - Added pascal sources and breakpoints to the disassembler
  - Added threads dialog.
* Components changes:
  - TAChart: many fixes and new features
  - CodeTool: support Delphi style generics and new syntax extensions.
  - AggPas: removed to honor free licencing. (Closes: Bug#708695)
[Bart Martens]
* New debian/watch file fixing issues with upstream RC release.
[Abou Al Montacir]
* Avoid changing files in .pc hidden directory, these are used by quilt for
  internal purpose and could lead to surprises during build.
[Paul Gevers]
* Updated get-orig-source target and it compinion script orig-tar.sh so that they
  repack the source file, allowing bug 708695 to be fixed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(*
 
2
 * Copyright (C) 2010 The Android Open Source Project
 
3
 *
 
4
 * Licensed under the Apache License, Version 2.0 (the "License");
 
5
 * you may not use this file except in compliance with the License.
 
6
 * You may obtain a copy of the License at
 
7
 *
 
8
 *      http://www.apache.org/licenses/LICENSE-2.0
 
9
 *
 
10
 * Unless required by applicable law or agreed to in writing, software
 
11
 * distributed under the License is distributed on an "AS IS" BASIS,
 
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
13
 * See the License for the specific language governing permissions and
 
14
 * limitations under the License.
 
15
  *)
 
16
 
 
17
// Note: This translation does not limit itself to the NDK defined constants
 
18
// but instead all constants from android.view.KeyEvent can be added here
 
19
//
 
20
// The NDK files are located in usr/include/android/keycodes.h
 
21
unit keycodes;
 
22
 
 
23
interface
 
24
 
 
25
uses ctypes;
 
26
 
 
27
(******************************************************************
 
28
 *
 
29
 * IMPORTANT NOTICE:
 
30
 *
 
31
 *   This file is part of Android's set of stable system headers
 
32
 *   exposed by the Android NDK (Native Development Kit).
 
33
 *
 
34
 *   Third-party source AND binary code relies on the definitions
 
35
 *   here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
 
36
 *
 
37
 *   - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
 
38
 *   - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
 
39
 *   - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
 
40
 *   - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
 
41
  *)
 
42
 
 
43
(*
 
44
 * Key codes.
 
45
  *)
 
46
 
 
47
const
 
48
  // First NDK defined keycodes
 
49
 
 
50
  AKEYCODE_UNKNOWN = 0;
 
51
  AKEYCODE_SOFT_LEFT = 1;
 
52
  AKEYCODE_SOFT_RIGHT = 2;
 
53
  AKEYCODE_HOME = 3;
 
54
  AKEYCODE_BACK = 4;
 
55
  AKEYCODE_CALL = 5;
 
56
  AKEYCODE_ENDCALL = 6;
 
57
  AKEYCODE_0 = 7;
 
58
  AKEYCODE_1 = 8;
 
59
  AKEYCODE_2 = 9;
 
60
  AKEYCODE_3 = 10;
 
61
  AKEYCODE_4 = 11;
 
62
  AKEYCODE_5 = 12;
 
63
  AKEYCODE_6 = 13;
 
64
  AKEYCODE_7 = 14;
 
65
  AKEYCODE_8 = 15;
 
66
  AKEYCODE_9 = 16;
 
67
  AKEYCODE_STAR = 17;
 
68
  AKEYCODE_POUND = 18;
 
69
  AKEYCODE_DPAD_UP = 19;
 
70
  AKEYCODE_DPAD_DOWN = 20;
 
71
  AKEYCODE_DPAD_LEFT = 21;
 
72
  AKEYCODE_DPAD_RIGHT = 22;
 
73
  AKEYCODE_DPAD_CENTER = 23;
 
74
  AKEYCODE_VOLUME_UP = 24;
 
75
  AKEYCODE_VOLUME_DOWN = 25;
 
76
  AKEYCODE_POWER = 26;
 
77
  AKEYCODE_CAMERA = 27;
 
78
  AKEYCODE_CLEAR = 28;
 
79
  AKEYCODE_A = 29;
 
80
  AKEYCODE_B = 30;
 
81
  AKEYCODE_C = 31;
 
82
  AKEYCODE_D = 32;
 
83
  AKEYCODE_E = 33;
 
84
  AKEYCODE_F = 34;
 
85
  AKEYCODE_G = 35;
 
86
  AKEYCODE_H = 36;
 
87
  AKEYCODE_I = 37;
 
88
  AKEYCODE_J = 38;
 
89
  AKEYCODE_K = 39;
 
90
  AKEYCODE_L = 40;
 
91
  AKEYCODE_M = 41;
 
92
  AKEYCODE_N = 42;
 
93
  AKEYCODE_O = 43;
 
94
  AKEYCODE_P = 44;
 
95
  AKEYCODE_Q = 45;
 
96
  AKEYCODE_R = 46;
 
97
  AKEYCODE_S = 47;
 
98
  AKEYCODE_T = 48;
 
99
  AKEYCODE_U = 49;
 
100
  AKEYCODE_V = 50;
 
101
  AKEYCODE_W = 51;
 
102
  AKEYCODE_X = 52;
 
103
  AKEYCODE_Y = 53;
 
104
  AKEYCODE_Z = 54;
 
105
  AKEYCODE_COMMA = 55;
 
106
  AKEYCODE_PERIOD = 56;
 
107
  AKEYCODE_ALT_LEFT = 57;
 
108
  AKEYCODE_ALT_RIGHT = 58;
 
109
  AKEYCODE_SHIFT_LEFT = 59;
 
110
  AKEYCODE_SHIFT_RIGHT = 60;
 
111
  AKEYCODE_TAB = 61;
 
112
  AKEYCODE_SPACE = 62;
 
113
  AKEYCODE_SYM = 63;
 
114
  AKEYCODE_EXPLORER = 64;
 
115
  AKEYCODE_ENVELOPE = 65;
 
116
  AKEYCODE_ENTER = 66;
 
117
  AKEYCODE_DEL = 67;
 
118
  AKEYCODE_GRAVE = 68;
 
119
  AKEYCODE_MINUS = 69;
 
120
  AKEYCODE_EQUALS = 70;
 
121
  AKEYCODE_LEFT_BRACKET = 71;
 
122
  AKEYCODE_RIGHT_BRACKET = 72;
 
123
  AKEYCODE_BACKSLASH = 73;
 
124
  AKEYCODE_SEMICOLON = 74;
 
125
  AKEYCODE_APOSTROPHE = 75;
 
126
  AKEYCODE_SLASH = 76;
 
127
  AKEYCODE_AT = 77;
 
128
  AKEYCODE_NUM = 78;
 
129
  AKEYCODE_HEADSETHOOK = 79;
 
130
  AKEYCODE_FOCUS = 80;  // *Camera* focus
 
131
  AKEYCODE_PLUS = 81;
 
132
  AKEYCODE_MENU = 82;
 
133
  AKEYCODE_NOTIFICATION = 83;
 
134
  AKEYCODE_SEARCH = 84;
 
135
  AKEYCODE_MEDIA_PLAY_PAUSE = 85;
 
136
  AKEYCODE_MEDIA_STOP = 86;
 
137
  AKEYCODE_MEDIA_NEXT = 87;
 
138
  AKEYCODE_MEDIA_PREVIOUS = 88;
 
139
  AKEYCODE_MEDIA_REWIND = 89;
 
140
  AKEYCODE_MEDIA_FAST_FORWARD = 90;
 
141
  AKEYCODE_MUTE = 91;
 
142
  AKEYCODE_PAGE_UP = 92;
 
143
  AKEYCODE_PAGE_DOWN = 93;
 
144
  AKEYCODE_PICTSYMBOLS = 94;
 
145
  AKEYCODE_SWITCH_CHARSET = 95;
 
146
  AKEYCODE_BUTTON_A = 96;
 
147
  AKEYCODE_BUTTON_B = 97;
 
148
  AKEYCODE_BUTTON_C = 98;
 
149
  AKEYCODE_BUTTON_X = 99;
 
150
  AKEYCODE_BUTTON_Y = 100;
 
151
  AKEYCODE_BUTTON_Z = 101;
 
152
  AKEYCODE_BUTTON_L1 = 102;
 
153
  AKEYCODE_BUTTON_R1 = 103;
 
154
  AKEYCODE_BUTTON_L2 = 104;
 
155
  AKEYCODE_BUTTON_R2 = 105;
 
156
  AKEYCODE_BUTTON_THUMBL = 106;
 
157
  AKEYCODE_BUTTON_THUMBR = 107;
 
158
  AKEYCODE_BUTTON_START = 108;
 
159
  AKEYCODE_BUTTON_SELECT = 109;
 
160
  AKEYCODE_BUTTON_MODE = 110;
 
161
 
 
162
  // Now all elements from android.view.KeyEvent
 
163
 
 
164
  ACTION_DOWN = 0;
 
165
  ACTION_MULTIPLE = 2;
 
166
  ACTION_UP = 1;
 
167
  FLAG_CANCELED = $20;
 
168
  FLAG_CANCELED_LONG_PRESS = $100;
 
169
  FLAG_EDITOR_ACTION = $10;
 
170
  FLAG_FALLBACK = $400;
 
171
  FLAG_FROM_SYSTEM = 8;
 
172
  FLAG_KEEP_TOUCH_MODE = 4;
 
173
  FLAG_LONG_PRESS = $80;
 
174
  FLAG_SOFT_KEYBOARD = 2;
 
175
  FLAG_TRACKING = $200;
 
176
  FLAG_VIRTUAL_HARD_KEY = $40;
 
177
  FLAG_WOKE_HERE = 1;
 
178
  KEYCODE_0 = 7;
 
179
  KEYCODE_1 = 8;
 
180
  KEYCODE_2 = 9;
 
181
  KEYCODE_3 = 10;
 
182
  KEYCODE_3D_MODE = $000000ce; // 3D Mode key. Toggles the display between 2D and 3D mode.
 
183
  KEYCODE_4 = 11;
 
184
  KEYCODE_5 = 12;
 
185
  KEYCODE_6 = 13;
 
186
  KEYCODE_7 = 14;
 
187
  KEYCODE_8 = 15;
 
188
  KEYCODE_9 = 16;
 
189
  KEYCODE_A = 29;
 
190
  KEYCODE_ALT_LEFT = $00000039;
 
191
  KEYCODE_ALT_RIGHT = $0000003a;
 
192
  KEYCODE_APOSTROPHE = $0000004b;
 
193
  KEYCODE_APP_SWITCH = $000000bb;
 
194
  KEYCODE_AT = $0000004d;
 
195
  KEYCODE_AVR_INPUT = $000000b6;
 
196
  KEYCODE_AVR_POWER = $000000b5;
 
197
  KEYCODE_B = 30;
 
198
  KEYCODE_BACK = 4;
 
199
  KEYCODE_BACKSLASH = $00000049;
 
200
  KEYCODE_BOOKMARK = $000000ae;
 
201
  KEYCODE_BREAK = $00000079;
 
202
  KEYCODE_BUTTON_1 = $000000bc;
 
203
  KEYCODE_BUTTON_10 = $000000c5;
 
204
  KEYCODE_BUTTON_11 = $000000c6;
 
205
  KEYCODE_BUTTON_12 = $000000c7;
 
206
  KEYCODE_BUTTON_13 = $000000c8;
 
207
  KEYCODE_BUTTON_14 = $000000c9;
 
208
  KEYCODE_BUTTON_15 = $000000ca;
 
209
  KEYCODE_BUTTON_16 = $000000cb; // Generic Game Pad Button #16.
 
210
  KEYCODE_BUTTON_2 = $000000bd; // Generic Game Pad Button #2.
 
211
  KEYCODE_BUTTON_3 = $000000be;
 
212
  KEYCODE_BUTTON_4 = $000000bf;
 
213
  KEYCODE_BUTTON_5 = $000000c0;
 
214
  KEYCODE_BUTTON_6 = $000000c1;
 
215
  KEYCODE_BUTTON_7 = $000000c2;
 
216
  KEYCODE_BUTTON_8 = $000000c3;
 
217
  KEYCODE_BUTTON_9 = $000000c4; // Generic Game Pad Button #9.
 
218
  KEYCODE_BUTTON_A = $00000060; // A Button key. On a game controller, the A button should be either the button labeled A or the first button on the upper row of controller buttons.
 
219
  KEYCODE_BUTTON_B = $00000061;
 
220
  KEYCODE_BUTTON_C = $00000062;
 
221
  KEYCODE_BUTTON_L1 = $00000066; // L1 Button key. On a game controller, the L1 button should be either the button labeled L1 (or L) or the top left trigger button.
 
222
  KEYCODE_BUTTON_L2 = $00000068;
 
223
  KEYCODE_BUTTON_MODE = $0000006e; // Mode Button key. On a game controller, the button labeled Mode.
 
224
  KEYCODE_BUTTON_R1 = $00000067; // R1 Button key. On a game controller, the R1 button should be either the button labeled R1 (or R) or the top right trigger button.
 
225
  KEYCODE_BUTTON_R2 = $00000069; // R2 Button key. On a game controller, the R2 button should be either the button labeled R2 or the bottom right trigger button.
 
226
  KEYCODE_BUTTON_SELECT = $0000006d; // Select Button key. On a game controller, the button labeled Select.
 
227
  KEYCODE_BUTTON_START = $0000006c; // Start Button key. On a game controller, the button labeled Start.
 
228
  KEYCODE_BUTTON_THUMBL = $0000006a; // Left Thumb Button key. On a game controller, the left thumb button indicates that the left (or only) joystick is pressed.
 
229
  KEYCODE_BUTTON_THUMBR = $0000006b; // Right Thumb Button key. On a game controller, the right thumb button indicates that the right joystick is pressed.
 
230
  KEYCODE_BUTTON_X = $00000063; // X Button key. On a game controller, the X button should be either the button labeled X or the first button on the lower row of controller buttons.
 
231
  KEYCODE_BUTTON_Y = $00000064; // Y Button key. On a game controller, the Y button should be either the button labeled Y or the second button on the lower row of controller buttons.
 
232
  KEYCODE_BUTTON_Z = $00000065; // Z Button key. On a game controller, the Z button should be either the button labeled Z or the third button on the lower row of controller buttons.
 
233
  KEYCODE_C = 31; // 'C' key.
 
234
  KEYCODE_CALCULATOR = $000000d2; // Calculator special function key. Used to launch a calculator application.
 
235
  KEYCODE_CALENDAR = $000000d0; // Calendar special function key. Used to launch a calendar application.
 
236
  KEYCODE_CALL = $00000005; // Call key.
 
237
  KEYCODE_CAMERA = $0000001b; // Camera key. Used to launch a camera application or take pictures.
 
238
  KEYCODE_CAPS_LOCK = $00000073;
 
239
  KEYCODE_CAPTIONS = $000000af; // Toggle captions key. Switches the mode for closed-captioning text, for example during television shows.
 
240
  KEYCODE_CHANNEL_DOWN = $000000a7; // Channel down key. On TV remotes, decrements the television channel.
 
241
  KEYCODE_CHANNEL_UP = $000000a6; // Channel up key. On TV remotes, increments the television channel.
 
242
  KEYCODE_CLEAR = $0000001c;
 
243
  KEYCODE_COMMA = $00000037;
 
244
  KEYCODE_CONTACTS = $000000cf; // Contacts special function key. Used to launch an address book application.
 
245
  KEYCODE_CTRL_LEFT = $00000071; // Left Control modifier key.
 
246
  KEYCODE_CTRL_RIGHT = $00000072; // Right Control modifier key.
 
247
  KEYCODE_D = 32;
 
248
  KEYCODE_DEL = $00000043; // Backspace key. Deletes characters before the insertion point, unlike KEYCODE_FORWARD_DEL.
 
249
  KEYCODE_DPAD_CENTER = $00000017; // Directional Pad Center key. May also be synthesized from trackball motions.
 
250
  KEYCODE_DPAD_DOWN = $00000014; // Directional Pad Down key. May also be synthesized from trackball motions.
 
251
  KEYCODE_DPAD_LEFT = $00000015; // Directional Pad Left key. May also be synthesized from trackball motions.
 
252
  KEYCODE_DPAD_RIGHT = $00000016; // Directional Pad Right key. May also be synthesized from trackball motions.
 
253
  KEYCODE_DPAD_UP = $00000013; // Directional Pad Up key. May also be synthesized from trackball motions.
 
254
  KEYCODE_DVR = $000000ad; // DVR key. On some TV remotes, switches to a DVR mode for recorded shows.
 
255
  KEYCODE_E = 33;
 
256
  KEYCODE_ENDCALL = $00000006; // End Call key.
 
257
  KEYCODE_ENTER = $00000042; // Enter key.
 
258
  KEYCODE_ENVELOPE = $00000041; // Envelope special function key. Used to launch a mail application.
 
259
  KEYCODE_EQUALS = $00000046; // '=' key.
 
260
  KEYCODE_ESCAPE = $0000006f; // Escape key.
 
261
  KEYCODE_EXPLORER = $00000040; // Explorer special function key. Used to launch a browser application.
 
262
  KEYCODE_F = 34; // 'F' key.
 
263
  KEYCODE_F1 = $00000083;
 
264
  KEYCODE_F10 = $0000008c;
 
265
  KEYCODE_F11 = $0000008d;
 
266
  KEYCODE_F12 = $0000008e;
 
267
  KEYCODE_F2 = $00000084;
 
268
  KEYCODE_F3 = $00000085;
 
269
  KEYCODE_F4 = $00000086;
 
270
  KEYCODE_F5 = $00000087;
 
271
  KEYCODE_F6 = $00000088;
 
272
  KEYCODE_F7 = $00000089;
 
273
  KEYCODE_F8 = $0000008a;
 
274
  KEYCODE_F9 = $0000008b;
 
275
  KEYCODE_FOCUS = $00000050; // Camera Focus key. Used to focus the camera.
 
276
  KEYCODE_FORWARD = $0000007d; // Forward key. Navigates forward in the history stack. Complement of KEYCODE_BACK.
 
277
  KEYCODE_FORWARD_DEL = $00000070; // Forward Delete key. Deletes characters ahead of the insertion point, unlike KEYCODE_DEL.
 
278
  KEYCODE_FUNCTION = $00000077; // Function modifier key.
 
279
  KEYCODE_G = 35;
 
280
  KEYCODE_GRAVE = $00000044; // '`' (backtick) key.
 
281
  KEYCODE_GUIDE = $000000ac; // Guide key. On TV remotes, shows a programming guide.
 
282
  KEYCODE_H = 36;
 
283
  KEYCODE_HEADSETHOOK = $0000004f; // Headset Hook key. Used to hang up calls and stop media.
 
284
  KEYCODE_HOME = $00000003; // Home key. This key is handled by the framework and is never delivered to applications.
 
285
  KEYCODE_I = 37;
 
286
  KEYCODE_INFO = $000000a5; // Info key. Common on TV remotes to show additional information related to what is currently being viewed.
 
287
  KEYCODE_INSERT = $0000007c; // Insert key. Toggles insert / overwrite edit mode.
 
288
  KEYCODE_J = 38;
 
289
  KEYCODE_K = 39;
 
290
  KEYCODE_L = 40;
 
291
  KEYCODE_LANGUAGE_SWITCH = $000000cc; // Language Switch key. Toggles the current input language such as switching between English and Japanese on a QWERTY keyboard. On some devices, the same function may be performed by pressing Shift+Spacebar.
 
292
  KEYCODE_LEFT_BRACKET = $00000047; // '[' key.
 
293
  KEYCODE_M = 41;
 
294
  KEYCODE_MANNER_MODE = $000000cd; // Manner Mode key. Toggles silent or vibrate mode on and off to make the device behave more politely in certain settings such as on a crowded train. On some devices, the key may only operate when long-pressed.
 
295
  KEYCODE_MEDIA_CLOSE = $00000080; // Close media key. May be used to close a CD tray, for example.
 
296
  KEYCODE_MEDIA_EJECT = $00000081; // Eject media key. May be used to eject a CD tray, for example.
 
297
  KEYCODE_MEDIA_FAST_FORWARD = $0000005a; // Fast Forward media key.
 
298
  KEYCODE_MEDIA_NEXT = $00000057; // Play Next media key.
 
299
  KEYCODE_MEDIA_PAUSE = $0000007f; // Pause media key.
 
300
  KEYCODE_MEDIA_PLAY = $0000007e; // Play media key.
 
301
  KEYCODE_MEDIA_PLAY_PAUSE = $00000055; // Play/Pause media key.
 
302
  KEYCODE_MEDIA_PREVIOUS = $00000058; // Play Previous media key.
 
303
  KEYCODE_MEDIA_RECORD = $00000082; // Record media key.
 
304
  KEYCODE_MEDIA_REWIND = $00000059; // Rewind media key.
 
305
  KEYCODE_MEDIA_STOP = $00000056; // Stop media key.
 
306
  KEYCODE_MENU = $00000052; // Menu key.
 
307
  KEYCODE_META_LEFT = $00000075; // Left Meta modifier key.
 
308
  KEYCODE_META_RIGHT = $00000076; // Right Meta modifier key.
 
309
  KEYCODE_MINUS = $00000045; // '-'
 
310
  KEYCODE_MOVE_END  = $0000007b; // End Movement key. Used for scrolling or moving the cursor around to the end of a line or to the bottom of a list.
 
311
  KEYCODE_MOVE_HOME = $0000007a; // Home Movement key. Used for scrolling or moving the cursor around to the start of a line or to the top of a list.
 
312
  KEYCODE_MUSIC = $000000d1; // Music special function key. Used to launch a music player application.
 
313
  KEYCODE_MUTE = $0000005b; //Mute key. Mutes the microphone, unlike KEYCODE_VOLUME_MUTE
 
314
  KEYCODE_N = 42;
 
315
  KEYCODE_NOTIFICATION = $00000053;
 
316
  KEYCODE_NUM = $0000004e; // Number modifier key. Used to enter numeric symbols. This key is not Num Lock; it is more like KEYCODE_ALT_LEFT and is interpreted as an ALT key by MetaKeyKeyListener.
 
317
  KEYCODE_NUMPAD_0 = $00000090;
 
318
  KEYCODE_NUMPAD_1 = $00000091;
 
319
  KEYCODE_NUMPAD_2 = $00000092;
 
320
  KEYCODE_NUMPAD_3 = $00000093;
 
321
  KEYCODE_NUMPAD_4 = $00000094;
 
322
  KEYCODE_NUMPAD_5 = $00000095;
 
323
  KEYCODE_NUMPAD_6 = $00000096;
 
324
  KEYCODE_NUMPAD_7 = $00000097;
 
325
  KEYCODE_NUMPAD_8 = $00000098;
 
326
  KEYCODE_NUMPAD_9 = $00000099;
 
327
  KEYCODE_NUMPAD_ADD = $0000009d;
 
328
  KEYCODE_NUMPAD_COMMA = $0000009f;
 
329
  KEYCODE_NUMPAD_DIVIDE = $0000009a;
 
330
  KEYCODE_NUMPAD_DOT = $0000009e;
 
331
  KEYCODE_NUMPAD_ENTER = $000000a0;
 
332
  KEYCODE_NUMPAD_EQUALS = $000000a1;
 
333
  KEYCODE_NUMPAD_LEFT_PAREN = $000000a2;
 
334
  KEYCODE_NUMPAD_MULTIPLY = $0000009b;
 
335
  KEYCODE_NUMPAD_RIGHT_PAREN = $000000a3;
 
336
  KEYCODE_NUMPAD_SUBTRACT = $0000009c;
 
337
  KEYCODE_NUM_LOCK = $0000008f;
 
338
  KEYCODE_O = 43;
 
339
  KEYCODE_P = 44;
 
340
  KEYCODE_PAGE_DOWN = $0000005d;
 
341
  KEYCODE_PAGE_UP = $0000005c;
 
342
  KEYCODE_PERIOD = $00000038;
 
343
  KEYCODE_PICTSYMBOLS = $0000005e;
 
344
  KEYCODE_PLUS = $00000051; // '+' key
 
345
  KEYCODE_POUND = $00000012; // '#' key.
 
346
  KEYCODE_POWER = $0000001a;
 
347
  KEYCODE_PROG_BLUE = $000000ba;
 
348
  KEYCODE_PROG_GREEN = $000000b8;
 
349
  KEYCODE_PROG_RED = $000000b7;
 
350
  KEYCODE_PROG_YELLOW = $000000b9;
 
351
  KEYCODE_Q = 45;
 
352
  KEYCODE_R = 46;
 
353
  KEYCODE_RIGHT_BRACKET = $00000048;
 
354
  KEYCODE_S = 47;
 
355
  KEYCODE_SCROLL_LOCK = $00000074;
 
356
  KEYCODE_SEARCH = $00000054;
 
357
  KEYCODE_SEMICOLON = $0000004a;
 
358
  KEYCODE_SETTINGS = $000000b0;
 
359
  KEYCODE_SHIFT_LEFT = 59;
 
360
  KEYCODE_SHIFT_RIGHT = 60;
 
361
  KEYCODE_SLASH = $0000004c; // '/' key.
 
362
  KEYCODE_SOFT_LEFT = $00000001;
 
363
  KEYCODE_SOFT_RIGHT = $00000002;
 
364
  KEYCODE_SPACE = $0000003e;
 
365
  KEYCODE_STAR = $00000011;
 
366
  KEYCODE_STB_INPUT = $000000b4;
 
367
  KEYCODE_STB_POWER = $000000b3;
 
368
  KEYCODE_SWITCH_CHARSET = $0000005f;
 
369
  KEYCODE_SYM = $0000003f; // Symbol modifier key. Used to enter alternate symbols.
 
370
  KEYCODE_SYSRQ = $00000078; // System Request / Print Screen key.
 
371
  KEYCODE_T = 48;
 
372
  KEYCODE_TAB = $0000003d;
 
373
  KEYCODE_TV = $000000aa;
 
374
  KEYCODE_TV_INPUT = $000000b2;
 
375
  KEYCODE_TV_POWER = $000000b1;
 
376
  KEYCODE_U = 49;
 
377
  KEYCODE_UNKNOWN = 0;
 
378
  KEYCODE_V = 50;
 
379
  KEYCODE_VOLUME_DOWN = $00000019;
 
380
  KEYCODE_VOLUME_MUTE = $000000a4;
 
381
  KEYCODE_VOLUME_UP = $00000018;
 
382
  KEYCODE_W = 51;
 
383
  KEYCODE_WINDOW = $000000ab; // Window key. On TV remotes, toggles picture-in-picture mode or other windowing functions.
 
384
  KEYCODE_X = 52;
 
385
  KEYCODE_Y = 53;
 
386
  KEYCODE_Z = 54;
 
387
  KEYCODE_ZOOM_IN = $000000a8;
 
388
  KEYCODE_ZOOM_OUT = $000000a9;
 
389
  MAX_KEYCODE = $00000054; // deprecated!
 
390
  META_ALT_LEFT_ON = $00000010;
 
391
  META_ALT_MASK = $00000032;
 
392
  META_ALT_ON = $00000002;
 
393
  META_ALT_RIGHT_ON = $00000020;
 
394
  META_CAPS_LOCK_ON = $00100000;
 
395
  META_CTRL_LEFT_ON = $00002000;
 
396
  META_CTRL_MASK = $00007000;
 
397
  META_CTRL_ON = $00001000;
 
398
  META_CTRL_RIGHT_ON = $00004000;
 
399
  META_FUNCTION_ON = $00000008;
 
400
  META_META_LEFT_ON = $00020000;
 
401
  META_META_MASK = $00070000;
 
402
  META_META_ON = $00010000;
 
403
  META_META_RIGHT_ON = $00040000;
 
404
  META_NUM_LOCK_ON = $00200000;
 
405
  META_SCROLL_LOCK_ON = $00400000;
 
406
  META_SHIFT_LEFT_ON = $00000040;
 
407
  META_SHIFT_MASK = $000000c1;
 
408
  META_SHIFT_ON = $00000001;
 
409
  META_SHIFT_RIGHT_ON = $00000080;
 
410
  META_SYM_ON = 4;
 
411
 
 
412
implementation
 
413
 
 
414
end.