On Mon, Dec 18, 2017 at 11:53:09AM -0800, Jason Gerecke wrote: > This commit refactors the signature of the sendAction function to take a > WacomDeviceState pointer. This change makes it easier to implement the > following pan/scroll patch. > > Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> Cheers, Peter > --- > src/wcmCommon.c | 42 +++++++++++++++++++++--------------------- > 1 file changed, 21 insertions(+), 21 deletions(-) > > diff --git a/src/wcmCommon.c b/src/wcmCommon.c > index dc6ecbd..b816cdd 100644 > --- a/src/wcmCommon.c > +++ b/src/wcmCommon.c > @@ -58,8 +58,8 @@ static int applyPressureCurve(WacomDevicePtr pDev, const > WacomDeviceStatePtr pSt > static void commonDispatchDevice(InputInfoPtr pInfo, > const WacomChannelPtr pChannel, > enum WacomSuppressMode suppress); > -static void sendAButton(InputInfoPtr pInfo, int button, int mask, > - int first_val, int num_vals, int *valuators); > +static void sendAButton(InputInfoPtr pInfo, const WacomDeviceState* ds, int > button, > + int mask, int first_val, int num_vals, int *valuators); > > > /***************************************************************************** > * Utility functions > @@ -95,7 +95,7 @@ void set_absolute(InputInfoPtr pInfo, Bool absolute) > * previous one. > > ****************************************************************************/ > > -static void wcmSendButtons(InputInfoPtr pInfo, int buttons, > +static void wcmSendButtons(InputInfoPtr pInfo, const WacomDeviceState* ds, > int buttons, > int first_val, int num_vals, int *valuators) > { > unsigned int button, mask, first_button; > @@ -136,7 +136,7 @@ static void wcmSendButtons(InputInfoPtr pInfo, int > buttons, > { > mask = 1u << button; > if ((mask & priv->oldState.buttons) != (mask & buttons)) > - sendAButton(pInfo, button, (mask & buttons), > + sendAButton(pInfo, ds, button, (mask & buttons), > first_val, num_vals, valuators); > } > > @@ -166,8 +166,8 @@ static int countPresses(int keybtn, unsigned int* keys, > int size) > return count; > } > > -static void sendAction(InputInfoPtr pInfo, int press, > - unsigned int *keys, int nkeys, > +static void sendAction(InputInfoPtr pInfo, const WacomDeviceState* ds, > + int press, unsigned int *keys, int nkeys, > int first_val, int num_val, int *valuators) > { > int i; > @@ -249,8 +249,8 @@ static void sendAction(InputInfoPtr pInfo, int press, > * sendAButton -- > * Send one button event, called by wcmSendButtons > > ****************************************************************************/ > -static void sendAButton(InputInfoPtr pInfo, int button, int mask, > - int first_val, int num_val, int *valuators) > +static void sendAButton(InputInfoPtr pInfo, const WacomDeviceState* ds, int > button, > + int mask, int first_val, int num_val, int *valuators) > { > WacomDevicePtr priv = (WacomDevicePtr) pInfo->private; > #ifdef DEBUG > @@ -263,7 +263,7 @@ static void sendAButton(InputInfoPtr pInfo, int button, > int mask, > if (!priv->keys[button][0]) > return; > > - sendAction(pInfo, (mask != 0), priv->keys[button], > + sendAction(pInfo, ds, (mask != 0), priv->keys[button], > ARRAY_SIZE(priv->keys[button]), > first_val, num_val, valuators); > } > @@ -345,11 +345,11 @@ TEST_NON_STATIC int getWheelButton(int delta, int > action_up, int action_dn) > * @param num_vals > * @param valuators > */ > -static void sendWheelStripEvent(unsigned int *action, int nactions, > InputInfoPtr pInfo, > - int first_val, int num_vals, int *valuators) > +static void sendWheelStripEvent(unsigned int *action, const > WacomDeviceState* ds, int nactions, > + InputInfoPtr pInfo, int first_val, int > num_vals, int *valuators) > { > - sendAction(pInfo, 1, action, nactions, first_val, num_vals, valuators); > - sendAction(pInfo, 0, action, nactions, first_val, num_vals, valuators); > + sendAction(pInfo, ds, 1, action, nactions, first_val, num_vals, > valuators); > + sendAction(pInfo, ds, 0, action, nactions, first_val, num_vals, > valuators); > } > > > /***************************************************************************** > @@ -372,7 +372,7 @@ static void sendWheelStripEvents(InputInfoPtr pInfo, > const WacomDeviceState* ds, > if (idx >= 0 && IsPad(priv) && priv->oldState.proximity == > ds->proximity) > { > DBG(10, priv, "Left touch strip scroll delta = %d\n", delta); > - sendWheelStripEvent(priv->strip_keys[idx], > ARRAY_SIZE(priv->strip_keys[idx]), > + sendWheelStripEvent(priv->strip_keys[idx], ds, > ARRAY_SIZE(priv->strip_keys[idx]), > pInfo, first_val, num_vals, valuators); > } > > @@ -382,7 +382,7 @@ static void sendWheelStripEvents(InputInfoPtr pInfo, > const WacomDeviceState* ds, > if (idx >= 0 && IsPad(priv) && priv->oldState.proximity == > ds->proximity) > { > DBG(10, priv, "Right touch strip scroll delta = %d\n", delta); > - sendWheelStripEvent(priv->strip_keys[idx], > ARRAY_SIZE(priv->strip_keys[idx]), > + sendWheelStripEvent(priv->strip_keys[idx], ds, > ARRAY_SIZE(priv->strip_keys[idx]), > pInfo, first_val, num_vals, valuators); > } > > @@ -392,7 +392,7 @@ static void sendWheelStripEvents(InputInfoPtr pInfo, > const WacomDeviceState* ds, > if (idx >= 0 && (IsCursor(priv) || IsPad(priv)) && > priv->oldState.proximity == ds->proximity) > { > DBG(10, priv, "Relative wheel scroll delta = %d\n", delta); > - sendWheelStripEvent(priv->wheel_keys[idx], > ARRAY_SIZE(priv->wheel_keys[idx]), > + sendWheelStripEvent(priv->wheel_keys[idx], ds, > ARRAY_SIZE(priv->wheel_keys[idx]), > pInfo, first_val, num_vals, valuators); > } > > @@ -402,7 +402,7 @@ static void sendWheelStripEvents(InputInfoPtr pInfo, > const WacomDeviceState* ds, > if (idx >= 0 && IsPad(priv) && priv->oldState.proximity == > ds->proximity) > { > DBG(10, priv, "Left touch wheel scroll delta = %d\n", delta); > - sendWheelStripEvent(priv->wheel_keys[idx], > ARRAY_SIZE(priv->wheel_keys[idx]), > + sendWheelStripEvent(priv->wheel_keys[idx], ds, > ARRAY_SIZE(priv->wheel_keys[idx]), > pInfo, first_val, num_vals, valuators); > } > > @@ -412,7 +412,7 @@ static void sendWheelStripEvents(InputInfoPtr pInfo, > const WacomDeviceState* ds, > if (idx >= 0 && IsPad(priv) && priv->oldState.proximity == > ds->proximity) > { > DBG(10, priv, "Right touch wheel scroll delta = %d\n", delta); > - sendWheelStripEvent(priv->wheel_keys[idx], > ARRAY_SIZE(priv->wheel_keys[idx]), > + sendWheelStripEvent(priv->wheel_keys[idx], ds, > ARRAY_SIZE(priv->wheel_keys[idx]), > pInfo, first_val, num_vals, valuators); > } > } > @@ -430,7 +430,7 @@ static void sendCommonEvents(InputInfoPtr pInfo, const > WacomDeviceState* ds, > > /* send button events when state changed or first time in prox and > button unpresses */ > if (priv->oldState.buttons != buttons || (!priv->oldState.proximity && > !buttons)) > - wcmSendButtons(pInfo,buttons, first_val, num_vals, valuators); > + wcmSendButtons(pInfo, ds, buttons, first_val, num_vals, > valuators); > > /* emulate wheel/strip events when defined */ > if ( ds->relwheel || (ds->abswheel != priv->oldState.abswheel) || > (ds->abswheel2 != priv->oldState.abswheel2) || > @@ -526,7 +526,7 @@ wcmSendPadEvents(InputInfoPtr pInfo, const > WacomDeviceState* ds, > else > { > if (priv->oldState.buttons) > - wcmSendButtons(pInfo, ds->buttons, first_val, num_vals, > valuators); > + wcmSendButtons(pInfo, ds, ds->buttons, first_val, > num_vals, valuators); > } > > if (priv->oldState.proximity && !ds->proximity) > @@ -594,7 +594,7 @@ wcmSendNonPadEvents(InputInfoPtr pInfo, const > WacomDeviceState *ds, > /* reports button up when the device has been > * down and becomes out of proximity */ > if (priv->oldState.buttons) > - wcmSendButtons(pInfo, buttons, first_val, num_vals, > valuators); > + wcmSendButtons(pInfo, ds, buttons, first_val, num_vals, > valuators); > > if (priv->oldState.proximity) > xf86PostProximityEventP(pInfo->dev, 0, first_val, > num_vals, > -- > 2.15.1 > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Linuxwacom-devel mailing list > Linuxwacom-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel