Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature 640: Sensitivity Adjustment Interface/Application #405

Open
imbushuo opened this issue Jun 12, 2021 · 54 comments · Fixed by #436
Open

Feature 640: Sensitivity Adjustment Interface/Application #405

imbushuo opened this issue Jun 12, 2021 · 54 comments · Fixed by #436

Comments

@imbushuo
Copy link
Owner

imbushuo commented Jun 12, 2021

Mirrored from https://ligstd.visualstudio.com/Apple%20PTP%20Trackpad/_workitems/edit/640

Need to implement a sensitivity app to address various user reports on sensitivity issues. This application should be able to adjust tip switch and confidence threshold, and optionally share the value to devs for reference and enhancement purposes.

This application should cover all supported models.

User feedback ticket #270; Bug report #221, #305, #268, #331, #93, #375, #237, #319, #86, #48, #288, #388, #276, #256

AB#715

@adventures
Copy link

Thank you!

@minhe7735
Copy link

image
windows 11 have this built in, might want to looking into that first

@jjoshrtca
Copy link

image
windows 11 have this built in, might want to looking into that first

That's got more to do with tapping while typing than mouse movement sensitivity. I know on my PC I had to turn this UP to the MOST sensitive setting because I need to be able to type and move/click the mouse rapidly in spreadsheets. Windows 10 has a blurb above this setting's drop down box that says "turn DOWN this sensitivity if they (taps) activate while you're typing".

@jjoshrtca
Copy link

Any ETA for the next update? Is there a way I can donate to maybe help accelerate the process?

@adventures
Copy link

Any ETA for the next update? Is there a way I can donate to maybe help accelerate the process?

I second this!

@gdsandoval
Copy link

Any ETA for the next update? Is there a way I can donate to maybe help accelerate the process?

I second this!

I would also like to donate for the time and effort it takes to get this trackpad working in Windows.

@ylluminate
Copy link

Thank you - came to report this as it is affecting several of our users and excited to see this progress!

@jjoshrtca
Copy link

Any update on the ability to donate? I'd really like to donate if it would mean the release of the fixed/updated driver!

@jjoshrtca
Copy link

@imbushuo just wondering, did you have to train the touchpad while developing the driver? If that's the case, then could retraining with more fingers help (as in other people)?

@imbushuo
Copy link
Owner Author

@jjoshrtca No trained has been done, it's just "I think it feels good" thing.

@jjoshrtca
Copy link

@jjoshrtca No trained has been done, it's just "I think it feels good" thing.

Oh, OK. Well, if you need a beta tester for the next release feel free to lmk. I do a lot of work/spreadsheet usage, which I think is likely a large chunk of the userbase (other than, say, creative/multimedia editing). Those two bases are probably the majority of the users. Not likely a lot of gamers gaming on trackpads.
I screen record my work so I can go back and check on orders for my job if needed. I could also record my finger movements on the trackpad using my iphone so you could see where the mouse jumps, dead-zones/stops responding, misinterprets two finger taps for one, etc.

@adventures
Copy link

@imbushuo just wondering, did you have to train the touchpad while developing the driver? If that's the case, then could retraining with more fingers help (as in other people)?

I'm curious, what do you mean by "training" the touchpad?

@ylluminate
Copy link

ylluminate commented Jul 29, 2021

Thank you for volunteering @jjoshrtca. I have a few users on my end (as I mentioned before) that complain about it not feeling good/right, so definitely giving some metrics like that, if @imbushuo can use them, will be wonderful.

This is an excellent tool, definitely don't want to be perceived as complaining or ungrateful. I think everyone wants to just have a "macOS-like" experience where possible, so a huge, huge thank you imbushuo in the first place for what you do and have done here!

@jjoshrtca
Copy link

Thank you for volunteering @jjoshrtca. I have a few users on my end (as I mentioned before) that complain about it not feeling good/right, so definitely giving some metrics like that, if @imbushuo can use them, will be wonderful.

This is an excellent tool, definitely don't want to be perceived as complaining or ungrateful. I think everyone wants to just have a "macOS-like" experience where possible, so a huge, huge thank you imbushuo in the first place for what you do and have done here!

Agreed!

@jjoshrtca
Copy link

Is there a progress tracker for this bug fix? Thanks!

@sonoks01
Copy link

sonoks01 commented Sep 4, 2021

Hi, I have #375 issue as well.
This is the best driver but this issue makes the touch Pad very difficult to use.
Please, I am waiting for the updates/fixes.

@jjoshrtca
Copy link

Hi, I have #375 issue as well.
This is the best driver but this issue makes the touch Pad very difficult to use.
Please, I am waiting for the updates/fixes.

Hi @sonoks01 agreed! It's been months. You say this is the best, but do you know of any others? Just wondering if there's anything I can switch to. Thanks!

@adventures
Copy link

Is there anything any of us non coders can do to help? I'm excited to have a fix!

@sonoks01
Copy link

sonoks01 commented Sep 20, 2021

Hi, I have #375 issue as well.
This is the best driver but this issue makes the touch Pad very difficult to use.
Please, I am waiting for the updates/fixes.

Hi @sonoks01 agreed! It's been months. You say this is the best, but do you know of any others? Just wondering if there's anything I can switch to. Thanks!

There are a few other things you can try if you internet search it like 'apple trackpad windows'.
I like the 'Magic Utilities' which cost some money after the trial period.

@jjoshrtca
Copy link

@MagicUtilities does it work on Windows? I think there's another one called trackpad++ that is only for actual macs (which... why on earth create a third party driver when Apple already makes the best software/drivers anyways).
If Magic Utilities is for Windows, then does it jump and jitter like this one? I don't mind downloading trialware and paying if it works!
Thanks :)

@jjoshrtca
Copy link

@gdsandoval that's what this driver -- mac precision touchpad -- does (jumps/jitters/hovers/etc). @MagicUtilities app -- magic utilities -- does not do that. That's why I was confused. I was more wondering what @ylluminate found clunky about magic utilities. Are there not enough gestures or something?

@jjoshrtca
Copy link

@MagicUtilities thanks for that writeup :) That's really interesting!

@b0undl3ss
Copy link

For me the biggest downside to Magic Utilities is the lack of Momentum Scrolling. That and the subscription fee.

@ylluminate
Copy link

@jjoshrtca I have had essentially the same scenario that @gdsandoval has had. As a matter of fact @MagicUtilities themselves recommended that I look at this particular driver as a solution to the problems that we had and that I was trying to address with them via tech support. This driver has been superior in many ways and the near-native experience is nice, but indeed this issue is what needs to be addressed more than anything else.

We use more than several computers with Magic TrackPad 2 devices that dual boot and if Apple somehow breaks OCLP at some point, these computers will become entirely Windows and/or Linux systems down the road (God bless the OCLP folks in their efforts to keep Apple from screwing those of us who have such hefty investments in them). This leads us to want simplicity and openness in our drivers. That is what this driver does and we'd simply like to see this driver not only survive, but thrive.

I'm sure imbushuo is super busy and it may be appropriate that others start contributing to help out. At this point this is becoming a very sore spot, but I'm also not convinced MagicUtilities is the right solution either for reasons from the previous problems.

To be honest with you, I'm getting a sour taste with the marketing feel towards MagicUtilities that this thread has now achieved. I have to say that I question incentives and sincerity and it's really turned me further away from trying MagicUtilities again... I think more harm than good has been done at this point. ☹️

@gdsandoval
Copy link

gdsandoval commented Sep 24, 2021 via email

@jjoshrtca
Copy link

I see where you're coming from. That being said, I'm glad I found Magic Utilities and that they wrote up a thorough comparison and know both drivers' strengths and limitations. It's also pretty cool that they sent you over here @ylluminate. I see their write up was deleted, which is a bummer. Maybe this driver's devs can point to Magic Utilities' driver on the project homepage for those who would benefit more from it, like business users who need precise mouse movement to click in very tine cells in spreadsheets and ERP software. Humans don't always have to be in competition :) Most ERP software modules do not have an undo button and a single misclick can create 2x the work. IIRC, I found this driver through a prominent tech site, so I'm sure this driver's got a good deal of users.
I'd still love to donate towards this project. If money's not the devs' thing, then maybe they have a charity or organization that they'd be interested in directing users towards to donate.

@b0undl3ss
Copy link

I've been debugging the driver all day today and I figured out how to solve the issue with the trackpad activating while your finger/s are hovering. This particular line of code seems to be causing the issue:

PtpReport.Contacts[i].TipSwitch = (AmtRawToInteger(f_type5->TouchMajor) << 1) > 0;

The problem is that using TouchMajor to determine the TipSwitch value doesn't work because TouchMajor values are registered even a finger is hovering above the trackpad. According to the Microsoft documentation here, tipswitch should be used to indicate whether or not the "contact" (i.e., finger) is touching the surface of the trackpad.

Instead, I think we should use the pressure value to determine the TipSwitch value:

UCHAR Pressure; /* pressure on forcetouch touchpad */

When you set the TipSwitch value like this, hovering close to the trackpad doesn't cause any sort of jittery or movement of the cursor:

PtpReport.Contacts[i].TipSwitch = f_type5->Pressure != 0;

I will put a pull request together.

@b0undl3ss
Copy link

Alright here is the Pull Request:

#436

@imbushuo could you take a look and approve it or give me some feedback? Thanks!

@imbushuo imbushuo linked a pull request Sep 26, 2021 that will close this issue
@gdsandoval
Copy link

gdsandoval commented Sep 26, 2021 via email

@gdsandoval
Copy link

Can I download the driver with this change so I can test it out and give any feedback?

@b0undl3ss
Copy link

@gdsandoval I've attached a copy of the x64 driver I built from my pull request. If you need the ARM build instead let me know. I've only been able to test it on my Magic Trackpad 2, if you have a MacBook or an older Magic Trackpad it would be nice if you could confirm that my changes work for either of those devices as well.

Because it's not officially signed you will have to bypass the signing requirement in order to install it. I've provided the steps below you'll have to follow to get it installed. Follow these steps at your own risk, disabling driver signature verification is dangerous and could allow very serious malware to be installed on your machine.

  1. Disable Driver Signature Verification using the steps here
  2. Extract mac-precision-touchpad-test.zip and right click on AmtPtpDevice.inf and click "Install" in the dropdown menu
  3. Open Device Manager (click windows icon and search for "Device Manager"
  4. In Device Manager, expand the "Human Interface Devices" section
  5. Right click on "Apply USB Precision Touchpad Device" and click "Update Driver"
  6. In the new window, click "Browse my computer for drivers"
  7. Click "Let me pick from a list of available drivers on my computer
  8. In the list of available drivers, you should see one that says "Apple USB Precision Touchpad Device" and ends with "[9/26/2021]" - select that driver and click Next. Your touchpad should be using the new driver now.

mac-precision-touchpad-test.zip

@gdsandoval
Copy link

gdsandoval commented Sep 26, 2021 via email

@oriolpetit
Copy link

@tritegeist are you saying the magic trackpad drivers also work with Magic trackpad 1? I thought this was not implemented as per #358

@b0undl3ss
Copy link

@tritegeist are you saying the magic trackpad drivers also work with Magic trackpad 1? I thought this was not implemented as per #358

I was under the assumption that this driver worked for Magic Trackpad 1 as well. Magic Trackpad 1 is still unsupported, apologies for the confusion!

@gdsandoval
Copy link

gdsandoval commented Sep 28, 2021 via email

@adventures
Copy link

@gdsandoval I've attached a copy of the x64 driver I built from my pull request. If you need the ARM build instead let me know. I've only been able to test it on my Magic Trackpad 2, if you have a MacBook or an older Magic Trackpad it would be nice if you could confirm that my changes work for either of those devices as well.

Because it's not officially signed you will have to bypass the signing requirement in order to install it. I've provided the steps below you'll have to follow to get it installed. Follow these steps at your own risk, disabling driver signature verification is dangerous and could allow very serious malware to be installed on your machine.

  1. Disable Driver Signature Verification using the steps here
  2. Extract mac-precision-touchpad-test.zip and right click on AmtPtpDevice.inf and click "Install" in the dropdown menu
  3. Open Device Manager (click windows icon and search for "Device Manager"
  4. In Device Manager, expand the "Human Interface Devices" section
  5. Right click on "Apply USB Precision Touchpad Device" and click "Update Driver"
  6. In the new window, click "Browse my computer for drivers"
  7. Click "Let me pick from a list of available drivers on my computer
  8. In the list of available drivers, you should see one that says "Apple USB Precision Touchpad Device" and ends with "[9/26/2021]" - select that driver and click Next. Your touchpad should be using the new driver now.

mac-precision-touchpad-test.zip

Wow... this is working beautifully! I've tested a trackpad 2 both wired and via Bluetooth, and currently have two trackpad 2s running smoothly via Bluetooth. Is there anything I can to to help test further?

Not to sound over the top, but I can't thank you all enough for all of this.. For those with chronic pain due to disabilities, this is truly special.

@imbushuo
Copy link
Owner Author

imbushuo commented Oct 2, 2021

Re: the PR, here's production signed build (note they are out-of-band build, not mainline release):

@adventures
Copy link

Re: the PR, here's production signed build (note they are out-of-band build, not mainline release):

Successfully installed two trackpad 2s via wired connection on a fresh install of Windows 11 beta. As I had two trackpads, I needed to manually update the driver for the second trackpad via tritegeist's steps 3-8 above.

@gdsandoval
Copy link

gdsandoval commented Oct 5, 2021 via email

@egorgam
Copy link

egorgam commented Nov 14, 2021

I think it may be helpful point - if I zoom in web page in browser window (Edge for example), there are fuzzy micro twitchings while I dont't get off my fingers from Magic Traclpad 2. So it's two-finger case too

@marc2323
Copy link

Commenting on @gdsandoval :

Having the same issue. PTP-4187 fixed the single finger hover jitteriness, but with two fingers it comes back.

@jjoshrtca
Copy link

Commenting on @gdsandoval :

Having the same issue. PTP-4187 fixed the single finger hover jitteriness, but with two fingers it comes back.

I recently decided to give this another try on a new pc and I still have single finger hover jitters. Also still have 3/2 finger gesture fails as described here (#488), and all kinds of other erratic behaviors like cursor jumps when trying to move in tiny spreadsheet cells or click close together links (ala an old fashioned site map link tree), cursor locks while trying to drag/move, etc. There's a subscription based mouse emulator program for this trackpad that works perfectly, though.

@provalinf
Copy link

Yes, jitter is fixed with 4187, but I find that touch is not sensitive enough now.
The surface must be rubbed at a certain threshold for the displacement to be taken into account.
I think it would take an in-between to make it perfect.

@bradharms
Copy link

bradharms commented Sep 4, 2022

Confirmed, it takes about 0.75cm of movement before cursor begins to move on a new Windows 11 install. (But haven't tested if this is something configurable with Windows settings.)

EDIT: Changing the touchpad sensitivity setting in Windows 11 touchpad settings to "most sensitive" fixes the problem.
image

@henusys
Copy link

henusys commented Nov 13, 2022

@imbushuo Dear author, Can you build three or four versions with the lower, middle and higher sensitive settings, and ompressing it into a driver package. I think it would solve the most people's sensitivity adjustment problems.
@ylluminate , @ylluminate

@vitoplantamura
Copy link

Hi everyone,

I think I've created something similar to the spirit of this issue:

https://github.com/vitoplantamura/MagicTrackpad2ForWindows

This version has a Control Panel, haptic feedback control and additional options to increase pointer precision.

I didn't create a PR and I created a separate project because my project only targets the MT2 via USB (for the reasons explained in the main README of my project, in any case attributable to the well-known problems with official driver signing of the bluetooth version). Also, sadly, it seems clear that this excellent project by @imbushuo is dead - which is a shame as Apple's official 2021 driver for the MT2 is far from perfect.

Anyone who wants to test or comment on my project is welcome :-)

Thanks, Vito

@pitonoved
Copy link

@vitoplantamura You're my hero! Great job!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.