On Tue, Oct 04, 2011 at 10:06:08PM +0200, Max Schwarz wrote:
> This bug led to inverted scrolling axes with legacy drivers that
> do not support smooth scrolling classes.
>
> Signed-off-by: Max Schwarz <[email protected]>
merged, thanks. though I've amended the commit message, this can only be
triggered if a driver does support smooth scrolling but sends legacy events
nonetheless (which is why I hadn't found this earlier).
Cheers,
Peter
> ---
> dix/getevents.c | 9 +++++----
> 1 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/dix/getevents.c b/dix/getevents.c
> index ebf2653..97c3937 100644
> --- a/dix/getevents.c
> +++ b/dix/getevents.c
> @@ -1330,21 +1330,22 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr
> pDev, int type,
> double val, adj;
> int axis;
>
> + /* Up is negative on valuators, down positive */
> switch (buttons) {
> case 4:
> - adj = 1.0;
> + adj = -1.0;
> axis = v_scroll_axis;
> break;
> case 5:
> - adj = -1.0;
> + adj = 1.0;
> axis = v_scroll_axis;
> break;
> case 6:
> - adj = 1.0;
> + adj = -1.0;
> axis = h_scroll_axis;
> break;
> case 7:
> - adj = -1.0;
> + adj = 1.0;
> axis = h_scroll_axis;
> break;
> default:
> --
> 1.7.4.1
>
>
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel