linux-magicmouse
linux-magicmouse copied to clipboard
Horizontal wheel events not exposed
Horizontal scrolling events can be exposed quite similar way as vertical events are now done. Unfortunately my C isn't that good, so please try patch attached and merge feature as wanted. Patch also adds possibility to use whole touch area as vertical scroll and adjusts accelaration profile(s) to be quicker.
Didn't found out how to attach patch, so now it's forked here: http://github.com/juuva/linux-magicmouse.git
There's no .git in the URL for GitHub repositories.
What's the use of horizontal scrolling? I've never missed it, so I'm not sure what people use it for. I had hoped to keep the kernel driver as simple as possible, and let user-space emulate the full set of desired motions.
Also: I see that in your patch, the X and Y scrolling acceleration are independent. If the reason for that isn't obvious from the answer to my question above, could you explain why that's better than using the same acceleration for both?
Some browsers or office programs which use large canvases can take advantage of horizontal scrolling. Also horizontal scoling is "feature" that Apple uses for marketing, so supporting horizontal scolling on kernel might be feature "expected" to be supported by default. If support will be implemented on userspace that would be nearly as good as supporting basic two axis scroll on kernel.
For other things I must say that they are done with nearly non-existent usability testing and knowledge of kernel programming. Just something to consider for inclusion (unless done in userspace).
Independent acceleration just felt like a good idea since there is smaller space for horizontal than vertical scrolling. With original profile it was almost impossible to get any movement done on that horizontal scroll.
As you might also notice I increased initial speed as I like mouse to be "responsive" even for small movement. Though I got complains from same thing, so could that acceleration profile somehow configurable if implemented in kernel?
Third thing changed was to allow scrolling on whole surface instead of "middle button", also that was something that felt like a good idea for ergonomy. Also with that primitive implementation of horizontal scroll caused some vertical jumping when scroling horizontally (=sudden change on y-position when touch entering "middle button").
I've used the Magic Mouse for 5 months on a MacBook Pro. Now I'm trying it on Ubuntu, using this driver. I miss the "whole surface" vertical scrolling too much.
Horizontal scrolling would be nice, but not as mandatory as "whole surface" vertical scrolling.
Thanks for the work thou.
I agree, I'd love to see this patch implemented.
my horizontal scroll patch: http://pastebin.com/YMnmTK31