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. */ 23typedef 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. */ 32void 33android_keycodes_add_key_event( AKeycodeBuffer* keycodes, 34 unsigned code, 35 unsigned down ); 36 37/* Flushes (transfers) collected keycodes to the core. */ 38void 39android_keycodes_flush(AKeycodeBuffer* keycodes); 40 41#endif /* QEMU_ANDROID_KEYCODE_ARRAY_H */ 42