-
Notifications
You must be signed in to change notification settings - Fork 1
Controller Setup
This page covers how to configure your controllers and map buttons to actions.
The drive and dome XBee Pocket Controllers each have four face buttons and a joystick click (L3). Amidala numbers them:
| Number | Drive Controller | Dome Controller |
|---|---|---|
| 1 | Triangle | — |
| 2 | Circle | — |
| 3 | Cross | — |
| 4 | Square | — |
| 5 | L3 (stick click) | — |
| 6 | — | Triangle |
| 7 | — | Circle |
| 8 | — | Cross |
| 9 | — | Square |
Each button supports four independent action layers:
| Layer | Trigger |
|---|---|
| Short press | Button released after a brief tap |
| Double press | Button tapped twice within the double-press timeout window |
| Long press | Button held for 3 seconds; the short-press action is suppressed |
| Alt press | Button released while the alt modifier button is held |
Note: The alt modifier button does not support a double-press action.
When a double-press action is assigned to a button, the short-press action is delayed by the Double Press Timeout (default 300 ms) to allow detection of the second tap. If no second tap arrives within the window, the short-press action fires. If no double-press action is configured, the short-press fires immediately with no delay.
Set the timeout in the web UI (Controllers → Controller Settings → Double Press Timeout), or via config key dbtimeout=<ms>. Set to 0 to disable double-press detection entirely.
One button can be designated as an alt modifier (altbtn). While it is held:
- All other buttons fire their alt-press action instead of short-press
- Long-press actions are suppressed
- The alt button itself does not fire its own action
On the dome controller, enabling Alt Dome Stick (altdomestick) puts the dome joystick into absolute-stick mode while the alt button is held — stick direction maps directly to a dome heading.
One button can be designated as a mute button. Double-pressing it (two quick taps) toggles audio mute. This avoids needing a dedicated button layer just for mute.
| Action | Description |
|---|---|
| None | No action |
| Sound Bank | Play a random track from the configured sound bank |
| Serial String | Send one of your configured serial string templates |
| HCR Emote | Trigger an HCR emote |
| HCR Muse Toggle | Toggle Muse (ambient random playback) on/off |
| Dome Command | Execute a dome command (random, front, home, calibrate, absolute angle, relative move) |
| Servo | Move a servo to a configured position |
| Digital Output | Toggle a digital output pin |
| I2C | Send a byte or string to an I2C device |
Up to 10 gestures can be defined. A gesture is a sequence of dome-stick movements (up, down, left, right) that triggers an action when matched.
Gestures use the same action system as buttons — any button action can be assigned to a gesture.