X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.main.git;a=blobdiff_plain;f=yarrg%2Fpages.c;h=d5385d3bdd71102cf715a1606cf13a8d62881a66;hp=d52cec1e0e5da594c19955c23fdc6bf3a67da0c1;hb=3a24aecf857292701d755173ffdb91d10a3426c8;hpb=159f707628410b3a5ad07e74f4fd102a20ec3336 diff --git a/yarrg/pages.c b/yarrg/pages.c index d52cec1..d5385d3 100644 --- a/yarrg/pages.c +++ b/yarrg/pages.c @@ -179,21 +179,21 @@ static void keymap_startup(void) { mm_shift.isdef= 'x'; int modent; for (modent=0; modentmax_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)