From cefa7443eb3d3e4bb134595f756145426d5613e3 Mon Sep 17 00:00:00 2001 From: Vladimir Chtchetkine Date: Wed, 1 Sep 2010 09:17:11 -0700 Subject: Add android_port initialization in the core. Also some minor cleanups to the ui <-> core stuff. Change-Id: I7d64ec1aa694c027851b7e262b6e1b80bb6cef08 --- keymaps.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'keymaps.c') diff --git a/keymaps.c b/keymaps.c index 6685562..661c2e6 100644 --- a/keymaps.c +++ b/keymaps.c @@ -64,20 +64,43 @@ static kbd_layout_t *parse_keyboard_layout(const name2keysym_t *table, kbd_layout_t * k) { FILE *f; + /* This file is used by both, UI and core components. There are differences + * in the way how keymap file path is obtained for these two different + * configurations. */ +#if defined(CONFIG_STANDALONE_UI) + char filename[2048]; +#else char * filename; +#endif // CONFIG_STANDALONE_UI char line[1024]; int len; +#if defined(CONFIG_STANDALONE_UI) + if (android_core_qemu_find_file(QEMU_FILE_TYPE_KEYMAP, language, + filename, sizeof(filename))) { + fprintf(stderr, + "Could not read keymap file: '%s'\n", language); + return NULL; + } +#else filename = qemu_find_file(QEMU_FILE_TYPE_KEYMAP, language); + if (!filename) { + fprintf(stderr, + "Could not read keymap file: '%s'\n", language); + return NULL; + } +#endif // CONFIG_STANDALONE_UI if (!k) k = qemu_mallocz(sizeof(kbd_layout_t)); - if (!(filename && (f = fopen(filename, "r")))) { + if (!(f = fopen(filename, "r"))) { fprintf(stderr, "Could not read keymap file: '%s'\n", language); return NULL; } +#if defined(CONFIG_STANDALONE_UI) qemu_free(filename); +#endif // CONFIG_STANDALONE_UI for(;;) { if (fgets(line, 1024, f) == NULL) break; -- cgit v1.1