/* Copyright (C) 2010 The Android Open Source Project ** ** This software is licensed under the terms of the GNU General Public ** License version 2, as published by the Free Software Foundation, and ** may be copied, distributed, and modified under those terms. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. */ #ifndef QEMU_ANDROID_KEYCODE_ARRAY_H #define QEMU_ANDROID_KEYCODE_ARRAY_H /* Contains declarations for routines that manage keycode sequence that needs * to be transferred to the emulator core for further processing. */ /* Maximum number of keycodes kept in the array. */ #define MAX_KEYCODES 256*2 /* Describes array of keycodes collected for transferring to the core. */ typedef struct AKeycodeBuffer { /* Number of keycodes collected in the array. */ int keycode_count; /* Array of collected keycodes. */ int keycodes[ MAX_KEYCODES ]; } AKeycodeBuffer; /* Adds a key event to the array of keycodes. */ void android_keycodes_add_key_event( AKeycodeBuffer* keycodes, unsigned code, unsigned down ); /* Flushes (transfers) collected keycodes to the core. */ void android_keycodes_flush(AKeycodeBuffer* keycodes); #endif /* QEMU_ANDROID_KEYCODE_ARRAY_H */