$NetBSD: patch-ab,v 1.1 2007/05/10 00:44:38 tnn Exp $ --- src/macros.c.orig 2007-05-10 02:39:14.000000000 +0200 +++ src/macros.c @@ -354,7 +354,10 @@ rxvt_parse_macros( rxvt_t *r, const char * Always store the keysym as lower case. That way we can treat shift * correctly even when Caps Lock is pressed. */ - keysym = tolower( XStringToKeysym( keyname_nomods ) ); + { + KeySym upper; + XConvertCase(XStringToKeysym(keyname_nomods), &keysym, &upper); + } if (NOT_KEYSYM(keysym)) { @@ -746,7 +749,10 @@ rxvt_process_macros( rxvt_t *r, KeySym k if (ev->state & r->h->ModMetaMask) ck.modFlags |= MACRO_META; /* Use lowercase version so we can ignore caps lock */ - ck.keysym = tolower( keysym ); + { + KeySym upper; + XConvertCase(keysym, &ck.keysym, &upper); + } /* Check if macro ck is in our list of macros. */ macro = bsearch( &ck, r->macros, r->nmacros, sizeof( macros_t ),