aboutsummaryrefslogtreecommitdiffstats
path: root/keymaps.c
diff options
context:
space:
mode:
authorVladimir Chtchetkine <vchtchetkine@google.com>2010-09-01 09:17:11 -0700
committerVladimir Chtchetkine <vchtchetkine@google.com>2010-09-01 09:44:01 -0700
commitcefa7443eb3d3e4bb134595f756145426d5613e3 (patch)
tree7ced288de1420463b18ce3f2d0ae36efaa46775e /keymaps.c
parent2cb19c7efef5f194198aa84d6a9ffbdb4c740455 (diff)
downloadexternal_qemu-cefa7443eb3d3e4bb134595f756145426d5613e3.zip
external_qemu-cefa7443eb3d3e4bb134595f756145426d5613e3.tar.gz
external_qemu-cefa7443eb3d3e4bb134595f756145426d5613e3.tar.bz2
Add android_port initialization in the core.
Also some minor cleanups to the ui <-> core stuff. Change-Id: I7d64ec1aa694c027851b7e262b6e1b80bb6cef08
Diffstat (limited to 'keymaps.c')
-rw-r--r--keymaps.c25
1 files changed, 24 insertions, 1 deletions
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;