bluerobotics / bluerobotics/cockpit
Joystick: support motion input control axes (from gyro/accelerometer)
- Dominant language
- TypeScript
- Stars
- 198
- Forks
- 63
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 57
Description
There are controllers (and mobile devices) available that allow rotating in space to provide rotation inputs, which seems like it would be useful to provide as an option, especially given we have 6-axis support already (from #559), and this could potentially feed into this as roll/pitch controls, for example.
In terms of implementation this would likely require the [`GamepadPose` Interface](https://w3c.github.io/gamepad/extensions.html#gamepadpose-interface), which unfortunately currently [has limited browser support](https://caniuse.com/mdn-api_gamepad_pose) (and is not yet available on Chrome).
Given controller motion is harder to limit than joystick axes, this would likely need to be accompanied by an Action that allows toggling the enable state of motion inputs, so you could use buttons to disable motion input before putting down the controller, or handing it to a different operator.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the existing six-axis support referenced in #559 and the GamepadPose Interface, then check current browser support for the API. Done means motion input can provide control axes such as roll or pitch and an Action can enable or disable motion inputs. No specific files or tests are named.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100