# Enum.UserInputType

Roblox Engine API enum from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- HTML page: https://rapi.sleaze.dev/enums/UserInputType/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/enums/UserInputType

Describes the type of a user input event.

## Items

| Name | Value | Description |
| --- | --- | --- |
| `MouseButton1` | 0 | The left mouse button. |
| `MouseButton2` | 1 | The right mouse button. |
| `MouseButton3` | 2 | The middle mouse button. |
| `MouseWheel` | 3 | The mouse wheel. |
| `MouseMovement` | 4 | Movement of the mouse. Fires changed events each time the player's cursor position changes and when the move enters/leaves the game window. |
| `Touch` | 7 | A tap on the screen from a mobile device. |
| `Keyboard` | 8 | Key press on a keyboard. |
| `Focus` | 9 | The client regaining focus of the Roblox window. |
| `Accelerometer` | 10 | The accelerometer of a mobile device. |
| `Gyro` | 11 | The Gyroscope of a mobile device. |
| `Gamepad1` | 12 | Input from the 1st plugged in Gamepad. |
| `Gamepad2` | 13 | Input from the 2nd plugged in Gamepad. |
| `Gamepad3` | 14 | Input from the 3rd plugged in Gamepad. |
| `Gamepad4` | 15 | Input from the 4th plugged in Gamepad. |
| `Gamepad5` | 16 | Input from the 5th plugged in Gamepad. |
| `Gamepad6` | 17 | Input from the 6th plugged in Gamepad. |
| `Gamepad7` | 18 | Input from the 7th plugged in Gamepad. |
| `Gamepad8` | 19 | Input from the 8th plugged in Gamepad. |
| `TextInput` | 20 | Input of Text into a text-based [`GuiObject`](https://rapi.sleaze.dev/classes/GuiObject.md). Normally this is only a [`TextBox`](https://rapi.sleaze.dev/classes/TextBox.md). |
| `InputMethod` | 21 | Text input from an input method editor (IME). `InputObjects` with this type aren't currently fired. |
| `None` | 22 | Unknown UserInputType. |

## Used by

Each entry lists the class, then the role and names of the members that use this type.

- [ContextActionService](https://rapi.sleaze.dev/classes/ContextActionService.md): method parameter `BindActivate`, `BindCoreActivate`, `UnbindActivate`, `UnbindCoreActivate`
- [HapticService](https://rapi.sleaze.dev/classes/HapticService.md): method parameter `GetMotor`, `IsMotorSupported`, `IsVibrationSupported`, `SetMotor`
- [InputObject](https://rapi.sleaze.dev/classes/InputObject.md): property `UserInputType`
- [UserInputService](https://rapi.sleaze.dev/classes/UserInputService.md): event parameter `GamepadConnected`, `GamepadDisconnected`, `LastInputTypeChanged`; method parameter `GamepadSupports`, `GetGamepadConnected`, `GetGamepadState`, `GetSupportedGamepadKeyCodes`, `IsGamepadButtonDown`, `IsMouseButtonPressed`, `IsNavigationGamepad`, `SetNavigationGamepad`; method return `GetLastInputType`
- [VirtualInput](https://rapi.sleaze.dev/classes/VirtualInput.md): method parameter `SendMouseButton`
