Class
UserInputService
NotCreatableServiceNotReplicated
UserInputService is primarily used to detect the input types available on a
user's device, as well as detect input events.
UserInputService is primarily used to detect the input types available on a
user's device, as well as detect input events. It allows you to perform
different actions depending on the device and, in turn, provide the best
experience for the end user.
As this service is intended for client-side usage only, its properties,
methods, and events can only be used in a LocalScript, a
ModuleScript required by a LocalScript, or a Script
with RunContext set to RunContext.Client.
Properties 19#
AccelerometerEnabledboolean | Describes whether the user's device has an accelerometer.ReadSafeReadOnlyNotReplicated |
GamepadEnabledboolean | Describes whether the user's device has an available gamepad.ReadSafeReadOnlyNotReplicated |
GyroscopeEnabledboolean | Describes whether the user's device has a gyroscope.ReadSafeReadOnlyNotReplicated |
KeyboardEnabledboolean | Describes whether the user's device has a keyboard available.ReadSafeReadOnlyNotReplicated |
ModalEnabledboolean | Toggles whether Roblox's mobile controls are hidden on mobile devices.ReadSafeDeprecated |
MouseBehaviorMouseBehavior | Determines whether the user's mouse can be moved freely or is locked.ReadSafe |
MouseDeltaSensitivityfloat | Scales the delta (change) output of the user's Mouse.ReadSafeNotReplicated |
MouseEnabledboolean | Describes whether the user's device has a mouse available.ReadSafeReadOnlyNotReplicated |
MouseIconContentId | The content ID of the image for the user's mouse icon.ReadSafe |
MouseIconContentContent | The content ID of the image for the user's mouse icon. Only supports asset URIs.ReadSafe |
MouseIconEnabledboolean | Determines whether the mouse icon is visible.ReadSafe |
OnScreenKeyboardPositionVector2 | Determines the position of the on-screen keyboard.ReadSafeReadOnlyNotReplicated |
OnScreenKeyboardSizeVector2 | Determines the size of the on-screen keyboard.ReadSafeReadOnlyNotReplicated |
OnScreenKeyboardVisibleboolean | Describes whether an on-screen keyboard is currently visible on the user's screen.ReadSafeReadOnlyNotReplicated |
PreferredInputPreferredInput | Queries the primary input type a player is using, based on anticipated user behavior.ReadSafeReadOnlyNotReplicated |
TouchEnabledboolean | Describes whether the user's device has a touch screen available.ReadSafeReadOnlyNotReplicated |
TouchScreenEnabledboolean | Describes whether the user's device has a touch screen, reflecting the device's true hardware capability.Read: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafeReadOnlyNotReplicated |
UserHeadCFrameCFrame | Describes the orientation and position of a user's head, if they are actively using a virtual reality headset.ReadSafeDeprecatedReadOnlyNotReplicated |
VREnabledboolean | Indicates whether the user is using a virtual reality headset.ReadSafeDeprecatedReadOnlyNotReplicated |
AccelerometerEnabled: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether the user's device has an accelerometer, a component found in most mobile devices that measures acceleration (change in speed).
If the device has an enabled accelerometer, you can get its current
acceleration by using the
GetDeviceAcceleration()
method or track when the device's acceleration changes through the
DeviceAccelerationChanged
event.
GamepadEnabled: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether the user's device has an available
gamepad. If true, you can use gamepad‑related methods such as
GetConnectedGamepads().
For seamless cross-platform compatibility on mixed-input devices, see
PreferredInput which more
accurately reflects which input (mouse/keyboard, touch, gamepad, etc.) the
player is likely using as the primary input.
GyroscopeEnabled: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether the user's device has a gyroscope, a component found in most mobile devices that detects orientation and rotational speed.
If the device has a gyroscope, you can incorporate it into your experience
using the GetDeviceRotation()
method or track when the device's rotation changes through the
DeviceRotationChanged
event.
KeyboardEnabled: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether the user's device has a keyboard
available. If true, you can use key‑related methods such as
IsKeyDown() or
GetKeysPressed().
For seamless cross-platform compatibility on mixed-input devices, see
PreferredInput which more
accurately reflects which input (mouse/keyboard, touch, gamepad, etc.) the
player is likely using as the primary input.
ModalEnabled: boolean#
DeprecatedReadSafeDeprecated
Deprecated. This item has been superseded by GuiService.TouchControlsEnabled
which should be used in all new work.
The ModalEnabled property determines whether character controls are
hidden on TouchEnabled devices. By
default, this property is false and controls are visible.
This property will only work when used in a LocalScript running
for the player whose character controls are to be hidden.
Even if mobile controls are hidden for a player on a touch‑enabled device,
other events such as InputBegan and
TouchSwipe can still be used to
process other forms of input.
MouseBehavior: MouseBehavior#
ReadSafe
This property sets how the user's mouse behaves based on the
MouseBehavior enum. It can be set to three values:
MouseBehavior.Default— The mouse moves freely around the user's screen.MouseBehavior.LockCenter— The mouse is locked and cannot move from the center of the user's screen.MouseBehavior.LockCurrentPosition— The mouse is locked and cannot move from its current position on the user's screen at the time of locking.
The value of this property does not affect the sensitivity of events
tracking mouse movement. For example,
GetMouseDelta returns the same
Vector2 screen position in pixels regardless of whether the
mouse is locked or able to move freely around the user's screen. As a
result, default scripts like those controlling the camera are not impacted
by this property.
This property is overridden if a GuiButton with
Modal enabled is Visible
unless the player's right mouse button is down.
Note that if the mouse is locked,
InputChanged will still fire when
the player moves the mouse and will pass in the delta that the mouse
attempted to move by. Additionally, if the player is kicked from the
experience, the mouse will be forcefully unlocked.
MouseDeltaSensitivity: float#
NotReplicatedReadSafe
This property determines the sensitivity of the user's Mouse. It
can be used to adjust the sensitivity of events tracking mouse movement,
such as GetMouseDelta().
This property does not affect the movement of the mouse icon, nor the camera sensitivity that the user has selected for their client.
This property has a maximum value of 10 and a minimum value of 0. When
sensitivity is 0, events that track the mouse's movement will still fire
but all parameters and properties indicating the change in mouse position
will return 0.
MouseEnabled: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether the user's device has a mouse available.
If true, you can use mouse‑related methods such as
GetMouseLocation().
For seamless cross-platform compatibility on mixed-input devices, see
PreferredInput which more
accurately reflects which input (mouse/keyboard, touch, gamepad, etc.) the
player is likely using as the primary input.
MouseIcon: ContentId#
ReadSafe
This property determines the content ID of the image for the user's mouse
icon. If blank, a default arrow pointer is used. While the cursor hovers
over certain UI objects such as an ImageButton,
TextButton, TextBox, or ProximityPrompt, this
image will be overridden and temporarily ignored.
To hide the cursor entirely, do not use a transparent image; instead,
set MouseIconEnabled to false.
MouseIconContent: Content#
ReadSafe
This property determines the content ID of the image for the user's mouse
icon. If blank, a default arrow pointer is used. While the cursor hovers
over certain UI objects such as an ImageButton,
TextButton, TextBox, or ProximityPrompt, this
image will be overridden and temporarily ignored. Only asset URIs are
supported for this property.
To hide the cursor entirely, do not use a transparent image; instead,
set MouseIconEnabled to false.
MouseIconEnabled: boolean#
ReadSafe
This property determines whether the mouse icon is visible. To detect when
this property changes, you must listen to when the
MouseEnabled property changes.
OnScreenKeyboardPosition: Vector2#
ReadOnlyNotReplicatedReadSafe
This property describes the position of the on-screen keyboard in pixels.
The keyboard's position is Vector2.new(0, 0) when it is
not visible.
See also
OnScreenKeyboardVisible
and OnScreenKeyboardSize.
OnScreenKeyboardSize: Vector2#
ReadOnlyNotReplicatedReadSafe
This property describes the size of the on-screen keyboard in pixels. The
keyboard's size is Vector2.new(0, 0) when it is not
visible.
See also
OnScreenKeyboardVisible
and
OnScreenKeyboardPosition.
OnScreenKeyboardVisible: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether an on-screen keyboard is currently visible on the user's screen.
See also
OnScreenKeyboardSize and
OnScreenKeyboardPosition.
PreferredInput: PreferredInput#
ReadOnlyNotReplicatedReadSafe
This read-only property lets you query the primary input type a player is likely using, based on anticipated user behavior, to ensure UI elements like on‑screen buttons and menus work elegantly across devices. For example, a touch‑enabled device assumes touch is the default input and that touch buttons may appear for actions, but if a player connects an additional bluetooth keyboard/mouse or gamepad, you can assume they want to switch to that as the primary input type and possibly use touch as a backup input for on‑screen UI.
The value of PreferredInput changes based on built‑in device inputs and
the player's most recent interaction with a connected gamepad or
keyboard/mouse. Examples include:
| Real-World Scenario | PreferredInput |
|---|---|
| Player is using a phone with no other connected input devices; no possibility of an input type change. | Enum.PreferredInput|Touch |
| Player is using a mobile device with a bluetooth keyboard & mouse connected, but no gamepad is connected. | Enum.PreferredInput|KeyboardAndMouse |
| Player is using a tablet with a bluetooth gamepad connected, but no keyboard or mouse is connected. | Enum.PreferredInput|Gamepad |
| Player is using an Xbox or PlayStation with a bluetooth keyboard & mouse connected and has most recently interacted with the keyboard or mouse. | Enum.PreferredInput|KeyboardAndMouse |
| Player is on a Windows or Mac PC with a gamepad connected and has most recently interacted with the gamepad. | Enum.PreferredInput|Gamepad |
TouchEnabled: boolean#
ReadOnlyNotReplicatedReadSafe
This property describes whether the user's device has a touch screen
available. If true, you can use touch‑related events such as
TouchStarted and
TouchMoved.
For seamless cross-platform compatibility on mixed-input devices, see
PreferredInput which more
accurately reflects which input (mouse/keyboard, touch, gamepad, etc.) the
player is likely using as the primary input.
TouchScreenEnabled: boolean#
ReadOnlyNotReplicatedRead: RobloxScriptSecurityWrite: RobloxScriptSecurityReadSafe
Read-only. Whether the user's device has a touch screen. Defaults to
false; the engine sets it to true on devices with a physical touch
screen.
Unlike TouchEnabled, which reports
false on some touch-capable desktop hardware (such as a Windows laptop
with a touch screen) to avoid switching those devices to mobile-style
controls, TouchScreenEnabled reflects the device's true touch
capability.
UserHeadCFrame: CFrame#
ReadOnlyNotReplicatedDeprecatedReadSafeDeprecated
Deprecated. This item has been superseded by UserInputService:GetUserCFrame()
which should be used in all new work.
The UserHeadCFrame used to describe the orientation and position of a user's head, if they are actively using a virtual reality headset.
VREnabled: boolean#
ReadOnlyNotReplicatedReadSafeDeprecated
Deprecated. This property has been superseded by VRService.VREnabled which
should be used in all new work.
This property describes whether the user is using a virtual reality (VR)
device. If true, you can use VR‑related properties, methods, and events
in VRService.
Methods 25#
| CreateVirtualInput | Creates a VirtualInput object for simulating mouse, keyboard, and
pointer input. |
| GamepadSupports | Returns whether the given UserInputType gamepad supports a button
corresponding with the given KeyCode. |
| GetConnectedGamepads | Returns an array of UserInputType gamepads currently connected. |
| GetDeviceAcceleration | Returns an InputObject that describes the device's current
acceleration. |
| GetDeviceGravity | Returns an InputObject describing the device's current gravity
vector. |
| GetDeviceRotation | Returns an InputObject and a CFrame describing the
device's current rotation vector. |
| GetFocusedTextBox | Returns the TextBox the client is currently focused on. |
| GetGamepadConnected | Returns whether a gamepad with the given UserInputType is
connected. |
| GetGamepadState | Returns an array of InputObjects for all available
inputs on the given gamepad, representing each input's last input state. |
| GetImageForKeyCode | Returns an image for the requested KeyCode. |
| GetKeysPressed | Returns an array of InputObjects associated with the
keys currently being pressed down. |
| GetLastInputType | Returns the UserInputType associated with the user's most recent
input. |
| GetMouseButtonsPressed | Returns an array of InputObjects associated with the
mouse buttons currently being held down. |
| GetMouseDelta | Returns the change, in pixels, of the position of the player's
Mouse in the last rendered frame. Only works if the mouse is
locked. |
| GetMouseLocation | Returns the current screen location of the player's Mouse relative
to the top-left corner of the screen. |
| GetNavigationGamepads | Returns an array of gamepads connected and enabled for GuiObject
navigation in descending order of priority. |
| GetStringForKeyCode | Returns a string representing a key the user should press in order to
input a given KeyCode, optionally in an abbreviated format. |
| GetSupportedGamepadKeyCodes | Returns an array of KeyCodes that the gamepad associated
with the given UserInputType supports. |
| GetUserCFrame | Returns a CFrame describing the position and orientation of a
specified virtual reality device.Deprecated |
| IsGamepadButtonDown | Determines whether a particular button is pressed on a gamepad. |
| IsKeyDown | Returns whether the given key is currently held down. |
| IsMouseButtonPressed | Returns whether the given mouse button is currently held down. |
| IsNavigationGamepad | Returns true if the specified gamepad is allowed to control navigation
and selection GuiObjects. |
| RecenterUserHeadCFrame | Recenters the CFrame of the VR headset to the current
orientation of the headset worn by the user. |
| SetNavigationGamepad | Sets whether or not the specified gamepad can move the GuiObject
navigator. |
CreateVirtualInput(): Object#
This method creates a VirtualInput object for simulating mouse,
keyboard, and pointer input as if it were performed by a real user. It is
intended for testing and automation workflows that need to simulate user
interaction inside a running experience. Simulated input is restricted to
the experience's own UI elements and cannot interact with arbitrary or
system-level GUI.
Always check that the returned value is not nil before calling any
methods on it.
Returns
Object— A newVirtualInputobject, ornilif the feature is not available.
GamepadSupports(gamepadNum: UserInputType, gamepadKeyCode: KeyCode): boolean#
This method returns whether the given UserInputType gamepad
supports a button corresponding with the given KeyCode.
| Name | Type | Default | Description |
|---|---|---|---|
gamepadNum | UserInputType | The UserInputType of the gamepad. | |
gamepadKeyCode | KeyCode | The KeyCode of the button in question. |
Returns
boolean— Whether the given gamepad supports a button corresponding with the givenKeyCode.
GetConnectedGamepads(): Array#
This method returns an array of UserInputType gamepads currently
connected. If no gamepads are connected, the array will be empty.
Alternatively to detecting all gamepads, the
PreferredInput property can be
used to more accurately reflect which input (mouse/keyboard, touch,
gamepad, etc.) the player is likely using as the primary input.
Returns
Array— An array ofUserInputTypescorresponding with the gamepads connected to the user's device.
GetDeviceAcceleration(): InputObject#
This method returns an InputObject that describes the device's
current acceleration. For this to function, the user's device must have an
enabled accelerometer as queried through the
AccelerometerEnabled
property.
To track when the device's acceleration changes, use the
DeviceAccelerationChanged
event.
Returns
InputObject— AnInputObjectdescribing the device's current acceleration, withPositionrepresenting the acceleration force on each local device axis.
GetDeviceGravity(): InputObject#
This method returns an InputObject describing the device's current
gravity vector. The vector is determined by the device's orientation
relative to the real-world force of gravity. For example:
Vector3.new(0, 0, -9.81)if the device is perfectly upright (portrait)Vector3.new(9.81, 0, 0)if the left side of the device is pointing downVector3.new(0, -9.81, 0)if the back of the device is pointing down
Gravity is only tracked for devices with an enabled gyroscope as queried
through GyroscopeEnabled.
To track when the device's gravity changes, use the
DeviceGravityChanged event.
Returns
InputObject— AnInputObjectdescribing the device's current gravity vector, withPositionrepresenting the force of gravity on each local device axis.
GetDeviceRotation(): Tuple#
This method returns an InputObject and a CFrame
describing the device's current rotation vector.
Device rotation is only tracked for devices with an enabled gyroscope as
queried through
GyroscopeEnabled.
Returns
Tuple— A tuple containing two properties: The delta describing the amount of rotation that last happened, and theCFrameof the device's current rotation relative to its default reference frame.
GetFocusedTextBox(): TextBox#
This method returns the TextBox the client is currently focused
on. A TextBox can be manually selected by the user, or selection
can be forced using the TextBox:CaptureFocus() method. If no
TextBox is selected, this method will return nil.
GetGamepadConnected(gamepadNum: UserInputType): boolean#
This method returns whether a gamepad with the given UserInputType
is connected.
Alternatively to detecting a specific gamepad by UserInputType, the
PreferredInput property can be
used to more accurately reflect which input (mouse/keyboard, touch,
gamepad, etc.) the player is likely using as the primary input.
| Name | Type | Default | Description |
|---|---|---|---|
gamepadNum | UserInputType | The UserInputType of the gamepad in question. |
Returns
boolean— Whether a gamepad associated withUserInputTypeis connected.
GetGamepadState(gamepadNum: UserInputType): List<InputObject>#
This method returns an array of InputObjects for all
available inputs on the given UserInputType gamepad, representing
each input's last input state.
| Name | Type | Default | Description |
|---|---|---|---|
gamepadNum | UserInputType | The UserInputType corresponding with the gamepad in question. |
Returns
List<InputObject>— An array ofInputObjectsrepresenting the current state of all available inputs for the given gamepad.
GetImageForKeyCode(keyCode: KeyCode): ContentId#
This method takes the requested KeyCode and returns the associated
image for the currently connected gamepad device (limited to Xbox,
PlayStation, and Windows). This means that if the connected controller is
an Xbox One controller, the user sees Xbox assets. Similarly, if the
connected device is a PlayStation controller, the user sees PlayStation
assets. If you want to use custom assets, see
GetStringForKeyCode().
For most use cases, consider using InputActionLabel instead. It is
a GuiObject that automatically displays the correct key icon for
an InputAction and updates when the player switches input devices
or rebinds the action, without any scripting. GetImageForKeyCode()
remains useful for advanced or fully custom interfaces where you need
direct access to the underlying image asset.
Returns
ContentId— The returned image asset ID.
GetKeysPressed(): List<InputObject>#
This method returns an array of InputObjects
associated with the keys currently being pressed down. The array can be
iterated through to determine which keys are currently being pressed,
using the InputObject.KeyCode names or values.
To check if a specific key is being pressed, use
IsKeyDown().
Returns
List<InputObject>— An array ofInputObjectsassociated with the keys currently being pressed.
GetLastInputType(): UserInputType#
This method returns the UserInputType associated with the user's
most recent input. For example, if the user's previous input had been
pressing the A key, the returned UserInputType value
would be Keyboard.
For seamless cross-platform compatibility on mixed-input devices, see
PreferredInput which more
accurately reflects which input (mouse/keyboard, touch, gamepad, etc.) the
player is likely using as the primary input. GetLastInputType()
remains for advanced workflows or control schemes that rely on detecting
and responding to the player's specific most recent UserInputType.
Returns
UserInputType— TheUserInputTypeassociated with the user's most recent input.
GetMouseButtonsPressed(): List<InputObject>#
This method returns an array of InputObjects
associated with the mouse buttons currently being held down. The array can
be iterated through to determine which buttons are currently being held,
using the InputObject.KeyCode names or values.
Mouse buttons that are tracked by this method include MouseButton1
(left), MouseButton2 (right), and MouseButton3 (middle).
If the user is not pressing any mouse button down when the method is called, it will return an empty array.
Returns
List<InputObject>— An array ofInputObjectscorresponding to the mouse buttons currently being currently held down.
GetMouseDelta(): Vector2#
This method returns the change, in pixels, of the position of the player's
Mouse in the last rendered frame, only if the mouse has been
locked using the MouseBehavior
property; otherwise the returned Vector2 values will be 0.
The sensitivity of the mouse, determined in the client's settings and
MouseDeltaSensitivity, will
influence the result.
Returns
Vector2— Change in movement of the mouse.
GetMouseLocation(): Vector2#
This method returns a Vector2 representing the current screen
location of the player's Mouse in pixels relative to the top‑left
corner. This does not account for the ScreenInsets; to get the
top‑left and bottom‑right insets, call GuiService:GetGuiInset().
If the location of the mouse pointer is offscreen or the player's device does not have a mouse, the returned value will be undetermined.
GetStringForKeyCode(keyCode: KeyCode, format: KeyCodeStringFormat = Default): string#
This method returns a string representing a key the user should press in
order to input a given KeyCode, keeping in mind their keyboard
layout. For key codes that require some modifier to be held, this method
returns the key to be pressed in addition to the modifier. See the
examples below for further explanation.
For most use cases, consider using InputActionLabel instead. It is
a GuiObject that automatically displays the correct key text or
icon for an InputAction and updates when the player switches input
devices or rebinds the action, without any scripting.
GetStringForKeyCode() remains useful for advanced or fully custom
interfaces where you need the raw display string.
When using Roblox with a non‑QWERTY keyboard layout, key codes are mapped
to equivalent QWERTY positions. For example, pressing A on an
AZERTY keyboard results in KeyCode.Q, potentially leading to
mismatched information on experience UI elements. This method solves the
issue by providing the actual key to be pressed while using non‑QWERTY
keyboard layouts.
| KeyCode | QWERTY Return | AZERTY Return |
|---|---|---|
Enum.KeyCode.Q |
Q |
A |
Enum.KeyCode.W |
W |
Z |
Enum.KeyCode.Equals |
= |
= |
Enum.KeyCode.At |
2 because @ is typed with Shift2 |
É |
Abbreviated Format#
When format is set to KeyCodeStringFormat.Abbreviated, the method
returns shortened key names suitable for compact UI elements, for example
"LCtrl" instead of "LeftControl", "Bksp" instead of "Backspace",
or "Esc" instead of "Escape". If no abbreviation exists for the given
key code, the default string is returned.
Gamepad Usage#
GetStringForKeyCode() returns the string mapping for the KeyCode
for the most recently connected gamepad. If the connected controller is
not supported, the method returns the default string conversion for the
requested key code.
The following example shows how you can map custom assets for
ButtonA:
local UserInputService = game:GetService("UserInputService")
local imageLabel = script.Parent
local key = Enum.KeyCode.ButtonA
local mappings = {
ButtonA = "rbxasset://BUTTON_A_ASSET", -- Replace with the desired ButtonA asset
ButtonCross = "rbxasset://BUTTON_CROSS_ASSET" -- Replace with the desired ButtonCross asset
}
local mappedKey = UserInputService:GetStringForKeyCode(key)
local image = mappings[mappedKey]
imageLabel.Image = imageGamepad Mappings#
The directional pad key codes do not have any differences based on device.
KeyCode.ButtonSelect has slightly different behavior in some cases.
Use both PlayStation mappings to ensure users see the correct buttons.
| KeyCode | PlayStation Return Value | Xbox Return Value |
|---|---|---|
Enum.KeyCode.ButtonA |
ButtonCross |
ButtonA |
Enum.KeyCode.ButtonB |
ButtonCircle |
ButtonB |
Enum.KeyCode.ButtonX |
ButtonSquare |
ButtonX |
Enum.KeyCode.ButtonY |
ButtonTriangle |
ButtonY |
Enum.KeyCode.ButtonL1 |
ButtonL1 |
ButtonLB |
Enum.KeyCode.ButtonL2 |
ButtonL2 |
ButtonLT |
Enum.KeyCode.ButtonL3 |
ButtonL3 |
ButtonLS |
Enum.KeyCode.ButtonR1 |
ButtonR1 |
ButtonRB |
Enum.KeyCode.ButtonR2 |
ButtonR2 |
ButtonRT |
Enum.KeyCode.ButtonR3 |
ButtonR3 |
ButtonRS |
Enum.KeyCode.ButtonStart |
ButtonOptions |
ButtonStart |
Enum.KeyCode.ButtonSelect |
ButtonTouchpad and ButtonShare |
ButtonSelect |
Legacy System Images#
When using a KeyCode that may be better represented as an image,
such as for an ImageLabel in a user interface, you can use the
following legacy icons. However, it's recommended that you use
GetImageForKeyCode() as a
more modern, cross‑platform method to retrieve Xbox and PlayStation
controller icons.
| KeyCode | Asset ID |
|---|---|
Enum.KeyCode.ButtonX |
rbxasset://textures/ui/Controls/xboxX.png |
Enum.KeyCode.ButtonY |
rbxasset://textures/ui/Controls/xboxY.png |
Enum.KeyCode.ButtonA |
rbxasset://textures/ui/Controls/xboxA.png |
Enum.KeyCode.ButtonB |
rbxasset://textures/ui/Controls/xboxB.png |
Enum.KeyCode.DPadLeft |
rbxasset://textures/ui/Controls/dpadLeft.png |
Enum.KeyCode.DPadRight |
rbxasset://textures/ui/Controls/dpadRight.png |
Enum.KeyCode.DPadUp |
rbxasset://textures/ui/Controls/dpadUp.png |
Enum.KeyCode.DPadDown |
rbxasset://textures/ui/Controls/dpadDown.png |
Enum.KeyCode.ButtonSelect |
rbxasset://textures/ui/Controls/xboxView.png |
Enum.KeyCode.ButtonStart |
rbxasset://textures/ui/Controls/xboxmenu.png |
Enum.KeyCode.ButtonL1 |
rbxasset://textures/ui/Controls/xboxLB.png |
Enum.KeyCode.ButtonR1 |
rbxasset://textures/ui/Controls/xboxRB.png |
Enum.KeyCode.ButtonL2 |
rbxasset://textures/ui/Controls/xboxLT.png |
Enum.KeyCode.ButtonR2 |
rbxasset://textures/ui/Controls/xboxRT.png |
Enum.KeyCode.ButtonL3 |
rbxasset://textures/ui/Controls/xboxLS.png |
Enum.KeyCode.ButtonR3 |
rbxasset://textures/ui/Controls/xboxRS.png |
Enum.KeyCode.Thumbstick1 |
rbxasset://textures/ui/Controls/xboxLSDirectional.png |
Enum.KeyCode.Thumbstick2 |
rbxasset://textures/ui/Controls/xboxRSDirectional.png |
Enum.KeyCode.Backspace |
rbxasset://textures/ui/Controls/backspace.png |
Enum.KeyCode.Return |
rbxasset://textures/ui/Controls/return.png |
Enum.KeyCode.LeftShift |
rbxasset://textures/ui/Controls/shift.png |
Enum.KeyCode.RightShift |
rbxasset://textures/ui/Controls/shift.png |
Enum.KeyCode.Tab |
rbxasset://textures/ui/Controls/tab.png |
Enum.KeyCode.Quote |
rbxasset://textures/ui/Controls/apostrophe.png |
Enum.KeyCode.Comma |
rbxasset://textures/ui/Controls/comma.png |
Enum.KeyCode.Backquote |
rbxasset://textures/ui/Controls/graveaccent.png |
Enum.KeyCode.Period |
rbxasset://textures/ui/Controls/period.png |
Enum.KeyCode.Space |
rbxasset://textures/ui/Controls/spacebar.png |