… | |
… | |
68 | //////////////////////////////////////////////////////////////////////////////// |
68 | //////////////////////////////////////////////////////////////////////////////// |
69 | // default keycode translation map and keyevent handlers |
69 | // default keycode translation map and keyevent handlers |
70 | |
70 | |
71 | keysym_t keyboard_manager::stock_keymap[] = { |
71 | keysym_t keyboard_manager::stock_keymap[] = { |
72 | /* examples */ |
72 | /* examples */ |
73 | /* keysym, state, range, handler, str */ |
73 | /* keysym, state, range, type, str */ |
74 | //{XK_ISO_Left_Tab, 0, 1, keysym_t::STRING, "\033[Z"}, |
74 | //{XK_ISO_Left_Tab, 0, 1, keysym_t::STRING, "\033[Z"}, |
75 | //{ 'a', 0, 26, keysym_t::RANGE_META8, "a" "%c"}, |
75 | //{ 'a', 0, 26, keysym_t::RANGE_META8, "a" "%c"}, |
76 | //{ 'a', ControlMask, 26, keysym_t::RANGE_META8, "" "%c"}, |
76 | //{ 'a', ControlMask, 26, keysym_t::RANGE_META8, "" "%c"}, |
77 | //{ XK_Left, 0, 4, keysym_t::LIST, ".\033[.DACB."}, |
77 | //{ XK_Left, 0, 4, keysym_t::LIST, ".\033[.DACB."}, |
78 | //{ XK_Left, ShiftMask, 4, keysym_t::LIST, ".\033[.dacb."}, |
78 | //{ XK_Left, ShiftMask, 4, keysym_t::LIST, ".\033[.dacb."}, |
… | |
… | |
452 | { |
452 | { |
453 | int index = find_keysym (a->keysym + j, a->state); |
453 | int index = find_keysym (a->keysym + j, a->state); |
454 | |
454 | |
455 | assert (index >= 0); |
455 | assert (index >= 0); |
456 | keysym_t *b = keymap [index]; |
456 | keysym_t *b = keymap [index]; |
457 | assert (i == (signed) index || // the normally expected result |
457 | assert (i == index // the normally expected result |
458 | (a->keysym + j) >= b->keysym && (a->keysym + j) <= (b->keysym + b->range) && compare_priority (a, b) <= 0); // is effectively the same or a closer match |
458 | || IN_RANGE_INC (a->keysym + j, b->keysym, b->keysym + b->range) |
|
|
459 | && compare_priority (a, b) <= 0); // is effectively the same or a closer match |
459 | } |
460 | } |
460 | } |
461 | } |
461 | #endif |
462 | #endif |
462 | } |
463 | } |
463 | |
464 | |