Commit 82807159 authored by Jan Krupa's avatar Jan Krupa Committed by Michael Tokarev
Browse files

qemu-char: add support for U-prefixed symbols



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: default avatarJan Krupa <jkrupa@suse.com>
Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
parent 3751e722
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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;
}