Fix "Could not resolve keysym" errors

On many layouts, the following error appears:
Internal error:   Could not resolve keysym 10005b0
(Which is like the trademark of libxkbcommon now, and makes
unicode-heavy symbol files pretty useless).

This occurs when a keysym string (in this case, 10005b0) is passed to
xkb_string_to_keysym, but cannot be resolved.
This in turn happens because the parser passes on hexadecimal keysym
strings without the leading "0x", thus leaving the resolving function
without a way to disambiguate it as a number.

Therefore, make sure to pass on the "0x". The file symbols.c in xkbcomp
project does the same; it probably got lost in translation.

Signed-off-by: Ran Benita <ran234@gmail.com>
master
Ran Benita 2012-03-03 23:42:44 +02:00
parent 2473444f92
commit e4b4d6b051
1 changed files with 1 additions and 1 deletions

View File

@ -731,7 +731,7 @@ KeySym : IDENT { $$= strdup(scanBuf); }
}
else {
$$= malloc(17);
snprintf($$, 17, "%x", $1);
snprintf($$, 17, "0x%x", $1);
}
}
;