Re: [PATCH 1/1] Enable xy scrolling for Apple Magic Mouse

From: Dmitry Torokhov
Date: Mon Feb 15 2010 - 02:19:01 EST


On Sun, Feb 14, 2010 at 06:58:26PM -0500, Ed Tomlinson wrote:
> On Sunday 14 February 2010 17:51:15 Michael Poole wrote:
> > Ed Tomlinson writes:
> >
> > > Hi,
> > >
> > > Here is a patch that enables xy scrolling with the magic mouse. I have also
> > > changed the accelleration logic to work better with xy scrolling.
> >
> > Hi Ed,
> >
> > Your other patch to call input_unregister_device() looks good -- thanks!
>
> Thanks. One question about it though. Do we have to check if msc is null before
> the unregister?

If it is NULL whan remove() is running there are much bigger problems
with the driver/HID subsystem.

>
> > I've never used a horizontal scroll wheel -- what are the common uses
> > for it? Why should the acceleration be separate for the two directions
> > rather than using the same factor? Why does the kernel need to emulate
> > this rather than having user-space implement the emulation?
>
> Its usefull for scrolling left and right while browsing. If you use kde it can
> be used to scroll between applications on the taskbar. Here most applications
> with a horizontial scrollbar work as expected.
>
> I first tried with a single acceleration value for both axies. It leads to confusing
> things happening. For example. I quickly scroll down, then nudge the
> window to the left. This works as expect with two values. With one the
> nudge is accelerated and moves too far.
>
> My personal goal is to have the basic, apple defined, gestures working
> from kernel space. This way the device works as expected without needing
> to fiddle with X or other managers (think wayland and/or chromeOS).

I am not sure if this is the desired approach. The current idea is to
export useable but minimally processed events to userspace and let them
be turned into gestures there (by evdev, synaptics driver and so forth).

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/