[PATCH synaptics] Remove absolute mode
Chase Douglas
chase.douglas at canonical.com
Thu May 17 14:51:18 PDT 2012
On 05/17/2012 02:48 PM, Peter Hutterer wrote:
> Moving a touchpad in absolute mode is unusual - touchpads are disconnected
> from the output device, so direct interaction is hard. There appears to be
> little usage of it (I haven't seen bug reports from people claiming to use
> it). Joe Shaw, author of the code and only known user doesn't have a use for
> it anymore, so purge it from the repo.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> src/synaptics.c | 34 +++++-----------------------------
> src/synapticsstr.h | 1 -
> 2 files changed, 5 insertions(+), 30 deletions(-)
>
> diff --git a/src/synaptics.c b/src/synaptics.c
> index 146afd8..8b78b9a 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -2839,10 +2839,8 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now,
>
> dx = dy = 0;
>
> - if (!priv->absolute_events) {
> - timeleft = ComputeDeltas(priv, hw, edge, &dx, &dy, inside_active_area);
> - delay = MIN(delay, timeleft);
> - }
> + timeleft = ComputeDeltas(priv, hw, edge, &dx, &dy, inside_active_area);
> + delay = MIN(delay, timeleft);
>
> buttons = ((hw->left ? 0x01 : 0) |
> (hw->middle ? 0x02 : 0) |
> @@ -2867,14 +2865,8 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now,
> }
>
> /* Post events */
> - if (finger >= FS_TOUCHED) {
> - if (priv->absolute_events && inside_active_area) {
> - xf86PostMotionEvent(pInfo->dev, 1, 0, 2, hw->x, hw->y);
> - }
> - else if (dx || dy) {
> - xf86PostMotionEvent(pInfo->dev, 0, 0, 2, dx, dy);
> - }
> - }
> + if (finger >= FS_TOUCHED && (dx || dy))
> + xf86PostMotionEvent(pInfo->dev, 0, 0, 2, dx, dy);
>
> if (priv->mid_emu_state == MBE_LEFT_CLICK) {
> post_button_click(pInfo, 1);
> @@ -2933,25 +2925,9 @@ ControlProc(InputInfoPtr pInfo, xDeviceCtl * control)
> static int
> SwitchMode(ClientPtr client, DeviceIntPtr dev, int mode)
> {
> - InputInfoPtr pInfo = (InputInfoPtr) dev->public.devicePrivate;
> - SynapticsPrivate *priv = (SynapticsPrivate *) (pInfo->private);
> -
> DBG(3, "SwitchMode called\n");
>
> - switch (mode) {
> - case Absolute:
> - priv->absolute_events = TRUE;
> - break;
> -
> - case Relative:
> - priv->absolute_events = FALSE;
> - break;
> -
> - default:
> - return XI_BadMode;
> - }
> -
> - return Success;
> + return XI_BadMode;
> }
>
> static void
> diff --git a/src/synapticsstr.h b/src/synapticsstr.h
> index 5b0120a..384b7bb 100644
> --- a/src/synapticsstr.h
> +++ b/src/synapticsstr.h
> @@ -201,7 +201,6 @@ struct _SynapticsPrivateRec {
>
> struct SynapticsHwState *local_hw_state; /* used in place of local hw state variables */
>
> - Bool absolute_events; /* post absolute motion events instead of relative */
> SynapticsMoveHistRec move_hist[SYNAPTICS_MOVE_HISTORY]; /* movement history */
> int hist_index; /* Last added entry in move_hist[] */
> int hyst_center_x; /* center x of hysteresis */
Yay!
Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
More information about the xorg-devel
mailing list