- char buf[32];
- snprintf(buf, sizeof(buf), "0x%"PRIx64, $1);
- if (!resolve_keysym(buf, &$$)) {
- parser_warn(param, "unrecognized keysym \"%s\"", buf);
+ if ($1 <= XKB_KEYSYM_MAX) {
+ $$ = (xkb_keysym_t) $1;
+ } else {
+ parser_warn(
+ param, XKB_WARNING_UNRECOGNIZED_KEYSYM,
+ "unrecognized keysym \"0x%"PRIx64"\" "
+ "(%"PRId64")", $1, $1
+ );