bluerobotics / bluerobotics/cockpit

Joystick: support motion input control axes (from gyro/accelerometer)

Open
#843 1 comment 0 reactions 0 assignees View on GitHub
accessibility joystick ux
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.