#include #include #include #include #include "xkbcommon/xkbcommon.h" static int test_string(const char *string, xkb_keysym_t expected) { xkb_keysym_t keysym; keysym = xkb_string_to_keysym(string); fprintf(stderr, "Expected string %s -> %x\n", string, expected); fprintf(stderr, "Received string %s -> %x\n\n", string, keysym); return keysym == expected; } static int test_keysym(xkb_keysym_t keysym, const char *expected) { char s[16]; xkb_keysym_to_string(keysym, s, sizeof(s)); fprintf(stderr, "Expected keysym %#x -> %s\n", keysym, expected); fprintf(stderr, "Received keysym %#x -> %s\n\n", keysym, s); return strcmp(s, expected) == 0; } int main(void) { assert(test_string("Undo", 0xFF65)); assert(test_string("ThisKeyShouldNotExist", XKB_KEYSYM_NO_SYMBOL)); assert(test_string("XF86_Switch_VT_5", 0x1008FE05)); assert(test_string("VoidSymbol", 0xFFFFFF)); assert(test_string("U4567", 0x1004567)); assert(test_string("0x10203040", 0x10203040)); assert(test_keysym(0x1008FF56, "XF86Close")); assert(test_keysym(0x0, "NoSymbol")); assert(test_keysym(0x1008FE20, "XF86Ungrab")); assert(test_keysym(0x01001234, "U1234")); return 0; }