About roblox-input
Roblox Input is a development skill for handling client-side touch, gamepad, keyboard, mouse, and motion input. It explains cross-platform bindings, interface-aware gameplay gating, cancellation behavior, and testing tools.
Key features
- 01Input event handling
- 02ContextActionService binding patterns
- 03PreferredInput-based control display
- 04Gameplay gating for UI focus
- 05Hold cancellation conditions
- 06Device Simulator and Controller Emulator testing
Use cases
- 01Building cross-platform controls
- 02Adding mobile action buttons
- 03Preventing gameplay input during menus or text entry
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-inputAfter installing, type/roblox-inputin Claude Code to confirm it loaded.
Bundled filesreferences/full.md
Details
From the project READMERoblox Input
When to Load
Touch, gamepad, keyboard, mouse or motion input, on-screen action buttons, cross-platform binding. Client-only; Server Authority simulation input uses the Input Action System.
Quick Reference
- Events:
InputBegan/Changed/Endedgive(input, gameProcessedEvent); filter it for gameplay. Wheel fires onlyInputChanged. - Bindings: prefer
ContextActionService:BindAction(name, handler, touchButton, ...keys); gate onstate(touch isKeyCode.Unknown); stack order, soBindActionAtPriority. Server Authority:InputAction/InputContext+RunService:BindToSimulation()(needsWorkspace.UseFixedSimulation). - Mobile first, hybrid aware: show controls from
UserInputService.PreferredInput(Enum.PreferredInput), observed withGetPropertyChangedSignal, not fromTouchEnabledcached once. - Touch action buttons: fire only for touches that began on the button; camera drags across it never fire. Place from the measured jump button under
PlayerGui.TouchGui; clear the thumbstick zone. - Gate gameplay: block attacks while a game window is open, a
TextBoxis focused,GuiService.MenuIsOpen, orGuiService.SelectedObjectis set. - Cancel is not release: holds cancel on window open,
Cancel, unequip, focus loss, input switch or pad disconnect. - Gamepad tools: default controls bind
ButtonR2throughBindActivate;Tool.ManualActivationOnly = truedisables it. Aim from the screen center on gamepad, notGetMouseLocation(). - Hints:
GetStringForKeyCode(key, Enum.KeyCodeStringFormat.Abbreviated),GetImageForKeyCode, orInputActionLabel; never hardcode Xbox names. - Test: Device Simulator + Controller Emulator; menu focus is in
roblox-gui.
Details: references/full.md
Comments
Markdown supported