[PATCH synaptics 06/12] Move scroll button handling out of HandleState.

Jamey Sharp jamey at minilop.net
Fri May 7 16:36:41 PDT 2010


Reviewed-by: Jamey Sharp <jamey at minilop.net>

On Thu, May 6, 2010 at 9:41 PM, Peter Hutterer <peter.hutterer at who-t.net> wrote:
> Again, just to make the code easier to read, no functional changes.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  src/synaptics.c |   44 ++++++++++++++++++++++++++------------------
>  1 files changed, 26 insertions(+), 18 deletions(-)
>
> diff --git a/src/synaptics.c b/src/synaptics.c
> index 3ce7a30..c3a4ebc 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -2126,6 +2126,30 @@ adjust_state_from_scrollbuttons(const LocalDevicePtr local, struct SynapticsHwSt
>     return double_click;
>  }
>
> +static inline void
> +post_button_click(const LocalDevicePtr local, const int button)
> +{
> +    xf86PostButtonEvent(local->dev, FALSE, button, TRUE, 0, 0);
> +    xf86PostButtonEvent(local->dev, FALSE, button, FALSE, 0, 0);
> +}
> +
> +
> +static inline void
> +post_scroll_events(const LocalDevicePtr local, struct ScrollData scroll)
> +{
> +    while (scroll.up-- > 0)
> +        post_button_click(local, 4);
> +
> +    while (scroll.down-- > 0)
> +        post_button_click(local, 5);
> +
> +    while (scroll.left-- > 0)
> +        post_button_click(local, 6);
> +
> +    while (scroll.right-- > 0)
> +        post_button_click(local, 7);
> +}
> +
>  /*
>  * React on changes in the hardware state. This function is called every time
>  * the hardware state changes. The return value is used to specify how many
> @@ -2260,24 +2284,8 @@ HandleState(LocalDevicePtr local, struct SynapticsHwState *hw)
>     /* Process scroll events only if coordinates are
>      * in the Synaptics Area
>      */
> -    if (inside_active_area) {
> -        while (scroll.up-- > 0) {
> -               xf86PostButtonEvent(local->dev, FALSE, 4, TRUE, 0, 0);
> -               xf86PostButtonEvent(local->dev, FALSE, 4, FALSE, 0, 0);
> -        }
> -        while (scroll.down-- > 0) {
> -               xf86PostButtonEvent(local->dev, FALSE, 5, TRUE, 0, 0);
> -               xf86PostButtonEvent(local->dev, FALSE, 5, FALSE, 0, 0);
> -        }
> -        while (scroll.left-- > 0) {
> -               xf86PostButtonEvent(local->dev, FALSE, 6, TRUE, 0, 0);
> -               xf86PostButtonEvent(local->dev, FALSE, 6, FALSE, 0, 0);
> -        }
> -        while (scroll.right-- > 0) {
> -               xf86PostButtonEvent(local->dev, FALSE, 7, TRUE, 0, 0);
> -               xf86PostButtonEvent(local->dev, FALSE, 7, FALSE, 0, 0);
> -        }
> -    }
> +    if (inside_active_area)
> +       post_scroll_events(local, scroll);
>
>     if (double_click) {
>        int i;
> --
> 1.6.6.1
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
>


More information about the xorg-devel mailing list