Home | History | Annotate | Download | only in android
      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