--- rxvt-unicode/src/keyboard.C 2005/02/24 13:01:01 1.13 +++ rxvt-unicode/src/keyboard.C 2005/04/17 22:36:13 1.15 @@ -262,6 +262,8 @@ { assert (hash[0] == 0 && "register_done() need to be called"); + state &= OtherModMask; // mask out uninteresting modifiers + if (state & term->ModMetaMask) state |= MetaMask; if (state & term->ModNumLockMask) state |= NumLockMask; if (state & term->ModLevel3Mask) state |= Level3Mask; @@ -459,8 +461,13 @@ keysym_t *key = keymap [index]; if (key->keysym <= keysym && keysym < key->keysym + key->range +#if 0 // disabled because the custom ekymap does not know the builtin keymap // match only the specified bits in state and ignore others - && (key->state & state) == key->state) + && (key->state & state) == key->state +#else // re-enable this part once the builtin keymap is handled here, too + && key->state == state +#endif + ) return index; }