aboutsummaryrefslogtreecommitdiffstats
path: root/android/keycode-array.h
diff options
context:
space:
mode:
Diffstat (limited to 'android/keycode-array.h')
-rw-r--r--android/keycode-array.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/android/keycode-array.h b/android/keycode-array.h
new file mode 100644
index 0000000..5c97ad9
--- /dev/null
+++ b/android/keycode-array.h
@@ -0,0 +1,41 @@
+/* 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 */