mm2 icon indicating copy to clipboard operation
mm2 copied to clipboard

Willing to pay for scroll support for Magic Mouse 2

Open s3w47m88 opened this issue 7 years ago • 21 comments

Hey, I'm looking to hire someone to write a script that adds support for scrolling in Ubuntu 17.10 for the Magic Mouse 2. Any chance you're available and interested? Thanks!

s3w47m88 avatar Oct 23 '17 22:10 s3w47m88

Bump! Any news on this? Scrolling works on magic mouse 1, but not magic mouse 2.

ghost avatar Jan 10 '18 06:01 ghost

Sadly no. :(

s3w47m88 avatar Jan 11 '18 04:01 s3w47m88

Also willing to pay for this!

tamagokun avatar May 19 '18 00:05 tamagokun

What do you guys think about starting a project on Freelancer.com or UpWork.com and seeing if we can pool our money to employ someone to make this?

s3w47m88 avatar May 22 '18 17:05 s3w47m88

I'm thinking there is most likely someone in the community willing to take this on, but how to go about finding someone? The freelancer sites don't seem very appealing to me, is there a linux driver message board or chat group out there?

Also, I found this PR this morning: https://github.com/torvalds/linux/pull/332

I'm not sure if the magic trackpad 2 is at all related to the magic mouse 2, but worth a shot?

tamagokun avatar May 30 '18 13:05 tamagokun

I agree that finding someone in the community would be best. I run a digital marketing agency so I hire and vet professional developers often. So I'll tap my resources over the next week or two but I can say I had a hard time finding someone in the first place for this particular task because I'm not really clear what programming languages are involved. Does anyone know?

On Wed, May 30, 2018, 6:21 AM Mike Kruk [email protected] wrote:

I'm thinking there is most likely someone in the community willing to take this on, but how to go about finding someone? The freelancer sites don't seem very appealing to me, is there a linux driver message board or chat group out there?

Also, I found this PR this morning: torvalds/linux#332 https://github.com/torvalds/linux/pull/332

I'm not sure if the magic trackpad 2 is at all related to the magic mouse 2, but worth a shot?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/biggreenogre/mm2/issues/4#issuecomment-393159167, or mute the thread https://github.com/notifications/unsubscribe-auth/AAoFiFO3vqDgzYkwt6_kGHMxn86thFcCks5t3pzngaJpZM4QDm3S .

s3w47m88 avatar May 30 '18 14:05 s3w47m88

It's C code, but it also requires an understanding of the linux kernel, so perhaps best suited for someone who has done kernel module coding before.

I'd love to try and sit down and pick at this, but i'm just way too busy to realistically do it.

tamagokun avatar May 30 '18 15:05 tamagokun

Thanks for your interest, guys. I spent A LOT of time attempting to switch the MM2 into "touch mode", with no success. @tamagokun thanks for the link, that may be the key to the castle. Will do my best to find some time to test. Happy to share what I've found so far if anyone wants to dive in.

biggreenogre avatar May 31 '18 14:05 biggreenogre

I am finished uploading the new driver. It now supports bluetooth and USB and seems to work very well. Tap-to-click, two-finger-scroll and three-finger-drag work as well. Please try it in combination with xf86-input-mtrack and give me some feedback ;-)

It can be found here: https://github.com/robotrovsky/Linux-Magic-Trackpad-2-Driver

Here the diff to the original hid-magicmouse.c https://github.com/robotrovsky/Linux-Magic-Trackpad-2-Driver/commit/7d6c34828c3498fa4286300215cc5229a0b6c946

I hope to get it this time into the kernel...

If you have problems installing, please open a issue in the project.

mwyborski avatar Jun 03 '18 09:06 mwyborski

@robotrovsky this looks neat! I have 2 questions:

  1. The repo is called magic 'trackpad'. Does this apply to the magic 'mouse'?
  2. Noob question: How do I actually install and try this driver? Can it be on AUR?

Thx a lot for the hardwork!

ghost avatar Jun 04 '18 10:06 ghost

@andyperisho OMG, i seem to blinded by so many "Magic" devices. Please excuse my confusion, the driver is for the "Magic Trackpad 2" but is inside the Magic Mouse. I just saw, that the driver was referenced by this discussion. My bad. The hid-magicmouse driver would also be the place to implement the Magic Mouse 2. I am truly sorry for the confusion that i caused. That said, it should not be too hard to implement this feature. From what i saw, the "Magic Mouse 2" isn't even defined in hid-ids.h. I don't own a Magic Mouse 2, otherwise i would have given it a try.

mwyborski avatar Jun 04 '18 10:06 mwyborski

@robotrovsky this library basically adds the device id so that hid_magicmouse will work as a basic 2 button mouse on linux with the magic mouse 2. Not a solution, but certainly better than nothing!

If the trackpad and the magic mouse have a similar API, i'd imagine that device drivers would be similar or at least have some related code. You need a magic mouse 2 shipped your way? 😁

tamagokun avatar Jun 04 '18 12:06 tamagokun

@tamagokun please let me finish and submit the driver with "Magic Trackpad 2" capabilities. Afterwards i will get back to you and look into the "Magic Mouse 2". I think the protocol should be very similar to the other "Magic" devices.

mwyborski avatar Jun 04 '18 13:06 mwyborski

@robotrovsky no worries about the confusion mate :) The only "Magic" I see here is the hard work you are putting to solve this ;) Much thx!

ghost avatar Jun 05 '18 07:06 ghost

@robotrovsky what tool did you use to discover the hex codes for various operations? Can you describe your process a little as I'm interested in trying to follow what you did for the mm2.

rohitpid avatar Jun 26 '18 20:06 rohitpid

Please test https://github.com/rohitpid/Linux-Magic-Trackpad-2-Driver

We now have:

  1. Scrolling
  2. Mouse middle click to paste selected text
  3. Regular functionality like left, right clicks and mouse motion

rohitpid avatar Jul 28 '18 06:07 rohitpid

Could someone explain how to install this for me and @andyperisho? Thank you!

s3w47m88 avatar Jul 28 '18 21:07 s3w47m88

@s3w47m88

Requires kernel 4.18 which you can install from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.18-rc6/

sudo apt-get install dkms
git clone https://github.com/rohitpid/Linux-Magic-Trackpad-2-Driver.git
cd Linux-Magic-Trackpad-2-Driver/scripts
chmod u+x install.sh
sudo ./install.sh

rohitpid avatar Jul 28 '18 21:07 rohitpid

@s3w47m88 updated README with better instructions and a new 3 finger middle click feature.

rohitpid avatar Jul 30 '18 20:07 rohitpid

@rohitpid thanks man, it works. Now I can use for scrolling. waiting for double-tap feature to zoom

denielaa avatar Sep 14 '18 14:09 denielaa

Hi guys,

after I install a @rohitpid driver still cannot a scroll with my MM2. Is there a solutions to solve this problem?

@denielaa @rohitpid

kernel version: 
4.18.5-041805-generic

romanAbrahamovic avatar Jan 28 '19 19:01 romanAbrahamovic