The longest keysym is 27 chars long.
Signed-off-by: Ran Benita <ran234@gmail.com>
/*
* Returns the name for a keysym as a string; will return unknown Unicode
* codepoints as "Ua1b2", and other unknown keysyms as "0xabcd1234".
+ * If the buffer passed is too small, the string is truncated; a size of
+ * at least 32 bytes is recommended.
*/
void
xkb_keysym_get_name(xkb_keysym_t ks, char *buffer, size_t size);
/*
- * See xkb_keysym_to_string comments: this function will accept any string
+ * See xkb_keysym_get_name comments: this function will accept any string
* from that function.
*/
xkb_keysym_t
if (interp->sym == XKB_KEY_NoSymbol)
sprintf(keysym_name, "Any");
else
- xkb_keysym_get_name(interp->sym, keysym_name, 64);
+ xkb_keysym_get_name(interp->sym, keysym_name, sizeof(keysym_name));
write_buf(keymap, buf, size, offset, "\t\tinterpret %s+%s(%s) {\n",
keysym_name,
const char *
XkbcKeysymText(xkb_keysym_t sym)
{
- static char buffer[16];
+ static char buffer[64];
xkb_keysym_get_name(sym, buffer, sizeof buffer);
const xkb_keysym_t *syms;
unsigned int nsyms, i;
- char ksbuf[16];
+ char ksbuf[64];
state = xkb_state_new(keymap);
assert(state);