diff options
author | Daniel Stone <daniel@fooishbar.org> | 2008-03-04 03:47:36 +0200 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2008-03-04 03:50:25 +0200 |
commit | 0bd0f90d7c7928052197da7119177e5a1c9eee2c (patch) | |
tree | 94a3b62ea89c0bb1a65616baaa820ff2cf92c8a8 /xkb/xkbInit.c | |
parent | 613852ce6a821ce6f6382fc14629f517776a3701 (diff) |
XKB: Fix initial map setting on startup
Due to an unwitting sense inversion when eliminating XkbFileInfo, we were
setting the complete wrong keymap on startup (non-XKB map if we had an XKB
map available, or the XKB map if we didn't have any available). Invert the
sense properly, and add two small bits that also went missing in that commit.
Diffstat (limited to 'xkb/xkbInit.c')
-rw-r--r-- | xkb/xkbInit.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c index c0afad026..3b47396e5 100644 --- a/xkb/xkbInit.c +++ b/xkb/xkbInit.c @@ -375,7 +375,8 @@ Atom unknown; names->vmods[vmod_AltGr]= CREATE_ATOM("ModeSwitch"); } - if (!(xkb->defined & XkmIndicatorsMask)) { + if (!(xkb->defined & XkmIndicatorsMask) || + !(xkb->defined & XkmGeometryMask)) { initIndicatorNames(NULL,xkb); if (names->indicators[LED_CAPS-1]==None) names->indicators[LED_CAPS-1] = CREATE_ATOM("Caps Lock"); @@ -531,10 +532,10 @@ XkbEventCauseRec cause; XkbDDXInitDevice(pXDev); if (xkb->defined & XkmSymbolsMask) + XkbUpdateCoreDescription(pXDev, True); + else XkbUpdateKeyTypesFromCore(pXDev, xkb->min_key_code, XkbNumKeys(xkb), &changes); - else - XkbUpdateCoreDescription(pXDev, True); XkbSetCauseUnknown(&cause); XkbUpdateActions(pXDev,xkb->min_key_code, XkbNumKeys(xkb),&changes, |