The only events generated here are button events, there's no need to send the axis values around.
Signed-off-by: Peter Hutterer <[email protected]> --- src/wcmCommon.c | 70 ++++++++++++++++++++---------------------------------- 1 files changed, 26 insertions(+), 44 deletions(-) diff --git a/src/wcmCommon.c b/src/wcmCommon.c index c379f86..17fe257 100644 --- a/src/wcmCommon.c +++ b/src/wcmCommon.c @@ -39,8 +39,7 @@ static void transPressureCurve(WacomDevicePtr pDev, WacomDeviceStatePtr pState); static void commonDispatchDevice(WacomCommonPtr common, unsigned int channel, const WacomChannelPtr pChannel, int suppress); static void resetSampleCounter(const WacomChannelPtr pChannel); -static void sendAButton(LocalDevicePtr local, int button, int mask, - int rx, int ry, int rz, int v3, int v4, int v5); +static void sendAButton(LocalDevicePtr local, int button, int mask); /***************************************************************************** * wcmMappingFactor -- @@ -216,8 +215,7 @@ static void wcmSetScreen(LocalDevicePtr local, int v0, int v1) * previous one. ****************************************************************************/ -static void wcmSendButtons(LocalDevicePtr local, int buttons, int rx, int ry, - int rz, int v3, int v4, int v5) +static void wcmSendButtons(LocalDevicePtr local, int buttons) { int button, mask; WacomDevicePtr priv = (WacomDevicePtr) local->private; @@ -235,7 +233,7 @@ static void wcmSendButtons(LocalDevicePtr local, int buttons, int rx, int ry, if (buttons == 1) { /* Button 1 pressed */ - sendAButton(local, 0, 1, rx, ry, rz, v3, v4, v5); + sendAButton(local, 0, 1); } else { /* send all pressed buttons down */ for (button=2; button<=WCM_MAX_BUTTONS; button++) @@ -244,8 +242,7 @@ static void wcmSendButtons(LocalDevicePtr local, int buttons, int rx, int ry, if ( buttons & mask ) { /* set to the configured button */ - sendAButton(local, button-1, 1, rx, ry, - rz, v3, v4, v5); + sendAButton(local, button-1, 1); } } } @@ -258,8 +255,7 @@ static void wcmSendButtons(LocalDevicePtr local, int buttons, int rx, int ry, if ((mask & priv->oldButtons) != (mask & buttons)) { /* set to the configured buttons */ - sendAButton(local, button-1, mask & buttons, - rx, ry, rz, v3, v4, v5); + sendAButton(local, button-1, mask & buttons); } } } @@ -275,8 +271,7 @@ static void wcmSendButtons(LocalDevicePtr local, int buttons, int rx, int ry, if ((mask & priv->oldButtons) != (mask & buttons) || (mask & buttons) ) { /* set to the configured button */ - sendAButton(local, button-1, 0, rx, ry, - rz, v3, v4, v5); + sendAButton(local, button-1, 0); } } } @@ -289,8 +284,7 @@ static void wcmSendButtons(LocalDevicePtr local, int buttons, int rx, int ry, if ((mask & priv->oldButtons) != (mask & buttons)) { /* set to the configured button */ - sendAButton(local, button-1, mask & buttons, rx, ry, - rz, v3, v4, v5); + sendAButton(local, button-1, mask & buttons); } } } @@ -440,8 +434,7 @@ static int countPresses(int keybtn, unsigned int* keys, int size) * sendAButton -- * Send one button event, called by wcmSendButtons ****************************************************************************/ -static void sendAButton(LocalDevicePtr local, int button, int mask, - int rx, int ry, int rz, int v3, int v4, int v5) +static void sendAButton(LocalDevicePtr local, int button, int mask) { WacomDevicePtr priv = (WacomDevicePtr) local->private; #ifdef DEBUG @@ -450,8 +443,6 @@ static void sendAButton(LocalDevicePtr local, int button, int mask, int is_absolute = priv->flags & ABSOLUTE_FLAG; int i; - int naxes = priv->naxes; - if (!priv->button[button]) /* ignore this button event */ return; @@ -464,8 +455,7 @@ static void sendAButton(LocalDevicePtr local, int button, int mask, if (!priv->keys[button][0]) { /* No button action configured, send button */ - xf86PostButtonEvent(local->dev, is_absolute, priv->button[button], (mask != 0), 0, naxes, - rx, ry, rz, v3, v4, v5); + xf86PostButtonEvent(local->dev, is_absolute, priv->button[button], (mask != 0), 0, 0); return; } @@ -485,8 +475,7 @@ static void sendAButton(LocalDevicePtr local, int button, int mask, int is_press = (action & AC_KEYBTNPRESS); xf86PostButtonEvent(local->dev, is_absolute, btn_no, - is_press, 0, naxes, - rx, ry, rz, v3, v4, v5); + is_press, 0, 0); } break; case AC_KEY: @@ -504,14 +493,10 @@ static void sendAButton(LocalDevicePtr local, int button, int mask, /* FIXME: this should be implemented as 4 values, * there's no reason to have a DBLCLICK */ case AC_DBLCLICK: - xf86PostButtonEvent(local->dev, is_absolute, - 1,1,0,naxes, rx,ry,rz,v3,v4,v5); - xf86PostButtonEvent(local->dev, is_absolute, - 1,0,0,naxes,rx,ry,rz,v3,v4,v5); - xf86PostButtonEvent(local->dev, is_absolute, - 1,1,0,naxes, rx,ry,rz,v3,v4,v5); - xf86PostButtonEvent(local->dev, is_absolute, - 1,0,0,naxes,rx,ry,rz,v3,v4,v5); + xf86PostButtonEvent(local->dev, is_absolute, 1,1,0,0); + xf86PostButtonEvent(local->dev, is_absolute, 1,0,0,0); + xf86PostButtonEvent(local->dev, is_absolute, 1,1,0,0); + xf86PostButtonEvent(local->dev, is_absolute, 1,0,0,0); break; case AC_DISPLAYTOGGLE: toggleDisplay(local); @@ -538,8 +523,7 @@ static void sendAButton(LocalDevicePtr local, int button, int mask, ARRAY_SIZE(priv->keys[button]) - i)) xf86PostButtonEvent(local->dev, is_absolute, btn_no, - 0, 0, naxes, - rx, ry, rz, v3, v4, v5); + 0, 0, 0); } break; case AC_KEY: @@ -641,11 +625,10 @@ static int getWheelButton(LocalDevicePtr local, const WacomDeviceState* ds) * Send events defined for relative/absolute wheels or strips ****************************************************************************/ -static void sendWheelStripEvents(LocalDevicePtr local, const WacomDeviceState* ds, - int x, int y, int z, int v3, int v4, int v5) +static void sendWheelStripEvents(LocalDevicePtr local, const WacomDeviceState* ds) { WacomDevicePtr priv = (WacomDevicePtr) local->private; - int fakeButton = 0, naxes = priv->naxes; + int fakeButton = 0; int is_absolute = priv->flags & ABSOLUTE_FLAG; DBG(10, priv, "\n"); @@ -661,10 +644,10 @@ static void sendWheelStripEvents(LocalDevicePtr local, const WacomDeviceState* d case AC_BUTTON: /* send both button on/off in the same event for pad */ xf86PostButtonEvent(local->dev, is_absolute, fakeButton & AC_CODE, - 1,0,naxes,x,y,z,v3,v4,v5); + 1,0,0); xf86PostButtonEvent(local->dev, is_absolute, fakeButton & AC_CODE, - 0,0,naxes,x,y,z,v3,v4,v5); + 0,0,0); break; case AC_KEY: @@ -682,20 +665,20 @@ static void sendWheelStripEvents(LocalDevicePtr local, const WacomDeviceState* d * Send events common between pad and stylus/cursor/eraser. ****************************************************************************/ -static void sendCommonEvents(LocalDevicePtr local, const WacomDeviceState* ds, int x, int y, int z, int v3, int v4, int v5) +static void sendCommonEvents(LocalDevicePtr local, const WacomDeviceState* ds) { WacomDevicePtr priv = (WacomDevicePtr) local->private; int buttons = ds->buttons; /* send button events when state changed or first time in prox and button unpresses */ if (priv->oldButtons != buttons || (!priv->oldProximity && !buttons)) - wcmSendButtons(local,buttons,x,y,z,v3,v4,v5); + wcmSendButtons(local,buttons); /* emulate wheel/strip events when defined */ if ( ds->relwheel || ds->abswheel || ( (ds->stripx - priv->oldStripX) && ds->stripx && priv->oldStripX) || ((ds->stripy - priv->oldStripY) && ds->stripy && priv->oldStripY) ) - sendWheelStripEvents(local, ds, x, y, z, v3, v4, v5); + sendWheelStripEvents(local, ds); } /* rotate x and y before post X inout events */ @@ -942,7 +925,7 @@ void wcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds) } } - sendCommonEvents(local, ds, x, y, z, v3, v4, v5); + sendCommonEvents(local, ds); } else /* not in proximity */ { @@ -958,7 +941,7 @@ void wcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds) /* reports button up when the device has been * down and becomes out of proximity */ if (priv->oldButtons) - wcmSendButtons(local,buttons,x,y,z,v3,v4,v5); + wcmSendButtons(local,buttons); if (priv->oldProximity && local->dev->proximity) xf86PostProximityEvent(local->dev,0,0,naxes,x,y,z,v3,v4,v5); @@ -977,7 +960,7 @@ void wcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds) if ((local->dev->proximity && !priv->oldProximity)) xf86PostProximityEvent(local->dev, 1, 0, naxes, x, y, z, v3, v4, v5); - sendCommonEvents(local, ds, x, y, z, v3, v4, v5); + sendCommonEvents(local, ds); is_proximity = 1; /* xf86PostMotionEvent is only needed to post the valuators * It should NOT move the cursor. @@ -991,8 +974,7 @@ void wcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds) else { if (priv->oldButtons) - wcmSendButtons(local, buttons, - x, y, z, v3, v4, v5); + wcmSendButtons(local, buttons); if (priv->oldProximity && local->dev->proximity) xf86PostProximityEvent(local->dev, 0, 0, naxes, x, y, z, v3, v4, v5); -- 1.6.5.2 ------------------------------------------------------------------------------ _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
