chiark / gitweb /
Merge branch 'stable-5.x'
[ypp-sc-tools.main.git] / yarrg / pages.c
index d52cec1..d5385d3 100644 (file)
@@ -179,21 +179,21 @@ static void keymap_startup(void) {
   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)