• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2010 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 QEMU_ANDROID_KEYCODE_ARRAY_H
13 #define QEMU_ANDROID_KEYCODE_ARRAY_H
14 
15 /* Contains declarations for routines that manage keycode sequence that needs
16  * to be transferred to the emulator core for further processing.
17  */
18 
19 /* Maximum number of keycodes kept in the array. */
20 #define  MAX_KEYCODES   256*2
21 
22 /* Describes array of keycodes collected for transferring to the core. */
23 typedef struct AKeycodeBuffer {
24     /* Number of keycodes collected in the array. */
25     int                 keycode_count;
26 
27     /* Array of collected keycodes. */
28     int                 keycodes[ MAX_KEYCODES ];
29 } AKeycodeBuffer;
30 
31 /* Adds a key event to the array of keycodes. */
32 void
33 android_keycodes_add_key_event( AKeycodeBuffer* keycodes,
34                                 unsigned       code,
35                                 unsigned       down );
36 
37 /* Flushes (transfers) collected keycodes to the core. */
38 void
39 android_keycodes_flush(AKeycodeBuffer* keycodes);
40 
41 #endif /* QEMU_ANDROID_KEYCODE_ARRAY_H */
42