RotaryController: the other way of interacting with an Android system
summary
RotaryController uses Android’s RotaryService (Android 11) accessibility path to turn a physical knob into focus navigation, offscreen nudges, and direct-manipulation gestures; the open-source rotary playground demos behavior. App changes are small—swap a ConstraintLayout for ConstraintFocusArea to group focusable regions, add one focus parking view (1x1 transparent top-most) to retain focus when nudging out, and handle rotation via generic motion axis values or accessibility scroll actions for direct manipulation. Offscreen nudges, intent keycodes and rotation acceleration are handled at platform level.
AI-written summary · about
chapters (11)
- 0:00Introduction and speaker intro
- 1:08What is a rotary controller
- 3:17Why rotary controllers matter
- 5:10App integration basics
- 7:42Focus areas for layout
- 10:30Focus parking view
- 12:59Direct manipulation mode
- 15:57Offscreen nudges
- 18:04Rotary service algorithm
- 19:31Potential use cases
- 20:56References and Q&A
related talks
06mAround a watch: Handling rotary input in Wear OS
06mAround a watch: Handling rotary input in Wear OS
23mNot Just Rotation: Configuration Changes on Android
20mAdvanced Android Touches
32mAndroid driver - application of Android device in RC vehicle development
12mThe Secrets of Android Accessibility
28mWhat You Can Do with an Accessibility Service
44mThe Curious Case of Android Button
