mm_shift.isdef= 'x';
int modent;
for (modent=0; modent<modmap->max_keypermod; modent++) {
- KeySym shiftsym= modmap->modifiermap[modent];
- keydebugf("KEYMAP modifier #0 keysym #%d is %#lx ",
- modent, (unsigned long)shiftsym);
- if (shiftsym==NoSymbol) { keydebugf("NoSymbol\n"); continue; }
- keydebugf("...\n");
- keymap_lookup_modifier(&mm_shift, "shift", shiftsym, 's');
- if (mm_shift.isdef=='y') break;
+ int kc= modmap->modifiermap[modent];
+ keydebugf("KEYMAP modifier #0 key #%d is %d ", modent, kc);
+ if (!kc) { keydebugf("none\n"); continue; }
+ keydebugf("ok\n");
+ mm_shift.kc= kc;
+ mm_shift.isdef= 'y';
+ break;
}
+ XFreeModifiermap(modmap);
+
/* find keycodes for mode_switch (column+=2) and ISO L3 shift (column+=4) */
keymap_lookup_modifier(&mm_modeswitch,"modeswitch", XK_Mode_switch, 'm');
keymap_lookup_modifier(&mm_isol3shift,"isol3shift", XK_ISO_Level3_Shift,'l');
- XFreeModifiermap(modmap);
-
#define KEY_MAP_LOOKUP(xk) \
keymap_lookup_key(&mk_##xk, xk, #xk);
KEYS(KEY_MAP_LOOKUP)