Skip to main content

Actions & Variables

Actions​

These actions are listed under Gamepad Actions in the action list while gamepad support is active.

ActionWhat it does
Gamepad: Pause / Resume MappingsPauses, resumes or toggles all gamepad mappings, e.g. before you start a game BetterTouchTool doesn't recognize.
Gamepad: Set Stick ModeSwitches a stick or the touchpad to Mouse Pointer, Scroll, Smooth Zoom or Direction Triggers, toggles between two modes, or goes back to the profile setting.
Gamepad: RumbleMakes the controller vibrate, with adjustable intensity, sharpness and duration. Works on controllers whose vibration macOS supports.
Gamepad: Set Light Bar ColorSets the light bar color of PlayStation controllers. macOS may change it back when you switch apps.

Rumble and light bar can target all connected controllers, or only the ones whose name contains a given text.

Variables​

You can use these variables in Conditional Activation Groups, scripts and anywhere else BetterTouchTool supports variables.

VariableContains
gamepad_connected_countThe number of connected controllers.
gamepad_connected_namesThe names of the connected controllers.
currently_pressed_gamepad_buttonsThe buttons held right now, e.g. ButtonA,LeftShoulder,.
gamepad_active_layerThe button of the hold layer that is held right now.
gamepad_mappings_paused1 while the gamepad mappings are paused.
gamepad_battery_1, gamepad_battery_2, …Battery level in percent, in the order the controllers connected.
gamepad_last_control, gamepad_last_deviceThe control and controller that triggered the last gamepad action.

For example, a Conditional Activation Group with the condition currently_pressed_gamepad_buttons contains LeftShoulder is active while L1 / LB is held.

JSON​

Gamepad profiles and triggers can be exported, imported and created with scripts like every other trigger. The format is documented in the trigger definitions.