]> xenbits.xensource.com Git - qemu-upstream-4.5-testing.git/commitdiff
qemu-char: add support for U-prefixed symbols
authorJan Krupa <JKrupa@suse.com>
Wed, 16 Oct 2013 12:40:05 +0000 (14:40 +0200)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 13 Nov 2013 11:48:38 +0000 (15:48 +0400)
This patch adds support for Unicode symbols in keymap files. This
feature was already used in some keyboard layouts in QEMU generated
from XKB (e.g. Arabic) but it wasn't implemented in QEMU source code.

There is no need for check of validity of the hex string after U character
because strtol returns 0 in case the conversion was unsuccessful.

Signed-off-by: Jan Krupa <jkrupa@suse.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
ui/keymaps.c

index f373cc53d9fdc0f878ab4d67a2816505e0103bbd..80d658d907d3d5671ccc7c5c3ceb21f587eea56d 100644 (file)
@@ -33,6 +33,12 @@ static int get_keysym(const name2keysym_t *table,
         if (!strcmp(p->name, name))
             return p->keysym;
     }
+    if (name[0] == 'U' && strlen(name) == 5) { /* try unicode Uxxxx */
+        char *end;
+        int ret = (int)strtoul(name + 1, &end, 16);
+        if (*end == '\0' && ret > 0)
+          return ret;
+    }
     return 0;
 }