GitHub - somekiwiplease/ThumbStick: A new way to scroll. Tilt your thumb to set the pace, lift to stop. · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
somekiwiplease
ThumbStick
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>2 Commits<br>2 Commits
ThumbStick.xcodeproj
ThumbStick.xcodeproj
ThumbStick
ThumbStick
docs
docs
README.md
README.md
View all files
Repository files navigation
ThumbStick 🕹️
Your thumb is the joystick. A prototype exploring rate-control scrolling on iOS.
Touch anywhere, hold for a beat, then tilt your thumb — the page scrolls at whatever pace you set. Push further to go faster. Lift to stop. Normal flick scrolling still works.
▶ Watch the demo
How it works
No phone senses finger tilt, but when you roll your thumb, iOS can see the contact point drift and the contact patch grow (UITouch.majorRadius). ThumbStick turns those two signals into a joystick:
Dwell 0.3s to engage (flicks never wait — they start moving, the stick starts still)
Tilt past a 10pt dead zone → velocity, with a capped throw like a real joystick
Hold a steady pace → cruise lock: relax your thumb, the page keeps gliding
Lift → soft brake, instant-feeling stop
Run it
Open ThumbStick.xcodeproj in Xcode
Set your team under Signing & Capabilities
Run on a real iPhone — the simulator fakes contact radius
Make it yours
All the feel lives in the Tuning enum at the top of ContentView.swift — gain, curve, dead zone, cruise lock, haptics. Change a number, run, feel, repeat.
To see the gesture while tuning, uncomment JoystickOverlay and HUD in ContentView.
License
MIT. Take it, remix it, ship it. If you build something with it, I'd love to see.
About
A new way to scroll. Tilt your thumb to set the pace, lift to stop.
Resources
Readme
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
stars
Watchers
watching
Forks
forks
Report repository
Releases
No releases published
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Swift<br>100.0%
You can’t perform that action at this time.