XKB: Don't update indicators on all devices, add missing include file
Don't get XkbUpdateIndicators to update the indicators on all our devices: we already deal with that ourselves. Add exevents.h include to get more (proto)types.
This commit is contained in:
parent
ee3aa948eb
commit
9db8846fa5
|
@ -36,6 +36,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#include <X11/keysym.h>
|
#include <X11/keysym.h>
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "inputstr.h"
|
#include "inputstr.h"
|
||||||
|
#include "exevents.h"
|
||||||
#include <xkbsrv.h>
|
#include <xkbsrv.h>
|
||||||
#include "xkb.h"
|
#include "xkb.h"
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
@ -80,8 +81,7 @@ XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc)
|
||||||
xkbPrivPtr->unwrapProc = NULL;
|
xkbPrivPtr->unwrapProc = NULL;
|
||||||
|
|
||||||
device->devPrivates[xkbDevicePrivateIndex].ptr = xkbPrivPtr;
|
device->devPrivates[xkbDevicePrivateIndex].ptr = xkbPrivPtr;
|
||||||
WRAP_PROCESS_INPUT_PROC(device,xkbPrivPtr,
|
WRAP_PROCESS_INPUT_PROC(device, xkbPrivPtr, proc, xkbUnwrapProc);
|
||||||
proc,xkbUnwrapProc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void ProcessOtherEvent(
|
extern void ProcessOtherEvent(
|
||||||
|
@ -400,7 +400,6 @@ _XkbFilterLockState( XkbSrvInfoPtr xkbi,
|
||||||
unsigned keycode,
|
unsigned keycode,
|
||||||
XkbAction * pAction)
|
XkbAction * pAction)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (pAction&&(pAction->type==XkbSA_LockGroup)) {
|
if (pAction&&(pAction->type==XkbSA_LockGroup)) {
|
||||||
if (pAction->group.flags&XkbSA_GroupAbsolute)
|
if (pAction->group.flags&XkbSA_GroupAbsolute)
|
||||||
xkbi->state.locked_group= XkbSAGroup(&pAction->group);
|
xkbi->state.locked_group= XkbSAGroup(&pAction->group);
|
||||||
|
@ -1287,8 +1286,9 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
|
||||||
if (keyEvent)
|
if (keyEvent)
|
||||||
keyc->modifierMap[key] = realMods;
|
keyc->modifierMap[key] = realMods;
|
||||||
}
|
}
|
||||||
else if (keyEvent)
|
else if (keyEvent) {
|
||||||
FixKeyState(xE,dev);
|
FixKeyState(xE,dev);
|
||||||
|
}
|
||||||
|
|
||||||
xkbi->prev_state= oldState;
|
xkbi->prev_state= oldState;
|
||||||
XkbComputeDerivedState(xkbi);
|
XkbComputeDerivedState(xkbi);
|
||||||
|
@ -1310,7 +1310,7 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
|
||||||
if (changed) {
|
if (changed) {
|
||||||
XkbEventCauseRec cause;
|
XkbEventCauseRec cause;
|
||||||
XkbSetCauseKey(&cause,key,xE->u.u.type);
|
XkbSetCauseKey(&cause,key,xE->u.u.type);
|
||||||
XkbUpdateIndicators(dev,changed,True,NULL,&cause);
|
XkbUpdateIndicators(dev,changed,False,NULL,&cause);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue