diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c index e50dbfe60..8ddbdba3d 100644 --- a/xkb/xkbActions.c +++ b/xkb/xkbActions.c @@ -36,6 +36,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include #include "misc.h" #include "inputstr.h" +#include "exevents.h" #include #include "xkb.h" #include @@ -80,8 +81,7 @@ XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc) xkbPrivPtr->unwrapProc = NULL; device->devPrivates[xkbDevicePrivateIndex].ptr = xkbPrivPtr; - WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr, - proc,xkbUnwrapProc); + WRAP_PROCESS_INPUT_PROC(device, xkbPrivPtr, proc, xkbUnwrapProc); } extern void ProcessOtherEvent( @@ -400,7 +400,6 @@ _XkbFilterLockState( XkbSrvInfoPtr xkbi, unsigned keycode, XkbAction * pAction) { - if (pAction&&(pAction->type==XkbSA_LockGroup)) { if (pAction->group.flags&XkbSA_GroupAbsolute) xkbi->state.locked_group= XkbSAGroup(&pAction->group); @@ -1287,8 +1286,9 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev); if (keyEvent) keyc->modifierMap[key] = realMods; } - else if (keyEvent) + else if (keyEvent) { FixKeyState(xE,dev); + } xkbi->prev_state= oldState; XkbComputeDerivedState(xkbi); @@ -1310,7 +1310,7 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev); if (changed) { XkbEventCauseRec cause; XkbSetCauseKey(&cause,key,xE->u.u.type); - XkbUpdateIndicators(dev,changed,True,NULL,&cause); + XkbUpdateIndicators(dev,changed,False,NULL,&cause); } return; }