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

Firmware: Adjust trackpad for Switch Controller #32

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

arxanas
Copy link

@arxanas arxanas commented Jun 5, 2022

Closes #7. This causes the trackpad to only register if you're tapping it (at least, on my Steam Controller). I determined this by uncommenting the debugging statements on these lines:

/*
// Debug print to illustrate how difference in adjacent samples
// can show where finger(s) are on trackpad
printf("%4d\n", adc_vals_x[0]);
for (int idx = 0; idx < 11; idx++) {
printf("%4d\n", adc_vals_x[idx+1] - adc_vals_x[idx]);
}
printf("\n");
*/

Basically, during testing, I observed that the sine wave's amplitude correlates directly with the distance of my finger from the trackpad.

Use derived z-axis information to determine if the finger is currently
 touching the trackpad, and only emit trackpad information if it is.
@marxjohnson
Copy link

I just tested this out and it's a big improvement, thanks for sharing!

@arxanas
Copy link
Author

arxanas commented Aug 7, 2023

Builds of:

  • Firmware with better touch detection. Note that the D-pad is not bound in this firmware, so the left touchpad doesn't do anything.
  • My custom Smash Bros. firmware.

custom-firmwares.zip

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

Successfully merging this pull request may close these issues.

Switch pro controller right pad too sensitive
2 participants