# VirtualInputManager

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

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/VirtualInputManager/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/VirtualInputManager

An internal service that offers no functionality to developers.

## Properties

### AdditionalLuaState

```luau
VirtualInputManager.AdditionalLuaState: string = ""
```

- Tags: Hidden, Not replicated, Roblox script security

## Methods

### Dump

```luau
VirtualInputManager:Dump()
```

- Tags: Roblox script security

### HandleGamepadAxisInput

```luau
VirtualInputManager:HandleGamepadAxisInput(objectId: number, keyCode: Enum.KeyCode, x: number, y: number, z: number)
```

- Tags: Roblox script security

### HandleGamepadButtonInput

```luau
VirtualInputManager:HandleGamepadButtonInput(deviceId: number, keyCode: Enum.KeyCode, buttonState: number)
```

- Tags: Roblox script security

### HandleGamepadConnect

```luau
VirtualInputManager:HandleGamepadConnect(deviceId: number)
```

- Tags: Roblox script security

### HandleGamepadDisconnect

```luau
VirtualInputManager:HandleGamepadDisconnect(deviceId: number)
```

- Tags: Roblox script security

### SendAccelerometerEvent

```luau
VirtualInputManager:SendAccelerometerEvent(x: number, y: number, z: number)
```

- Tags: Roblox script security

### SendGravityEvent

```luau
VirtualInputManager:SendGravityEvent(x: number, y: number, z: number)
```

- Tags: Roblox script security

### SendGyroscopeEvent

```luau
VirtualInputManager:SendGyroscopeEvent(quatX: number, quatY: number, quatZ: number, quatW: number)
```

- Tags: Roblox script security

### SendKeyEvent

```luau
VirtualInputManager:SendKeyEvent(isPressed: boolean, keyCode: Enum.KeyCode, isRepeatedKey: boolean, layerCollector: Instance)
```

- Tags: Roblox script security

### SendMouseButtonEvent

```luau
VirtualInputManager:SendMouseButtonEvent(x: number, y: number, mouseButton: number, isDown: boolean, layerCollector: Instance, repeatCount: number)
```

- Tags: Roblox script security

### SendMouseMoveDeltaEvent

```luau
VirtualInputManager:SendMouseMoveDeltaEvent(deltaX: number, deltaY: number, layerCollector: Instance)
```

- Tags: Roblox script security

### SendMouseMoveEvent

```luau
VirtualInputManager:SendMouseMoveEvent(x: number, y: number, layerCollector: Instance)
```

- Tags: Roblox script security

### SendMouseWheelEvent

```luau
VirtualInputManager:SendMouseWheelEvent(x: number, y: number, isForwardScroll: boolean, layerCollector: Instance)
```

- Tags: Roblox script security

### SendScroll

```luau
VirtualInputManager:SendScroll(x: number, y: number, deltaX: number, deltaY: number, options: { [string]: any }, layerCollector: Instance)
```

- Tags: Roblox script security

### SendTextInputCharacterEvent

```luau
VirtualInputManager:SendTextInputCharacterEvent(str: string, layerCollector: Instance)
```

- Tags: Roblox script security

### SendTouchEvent

```luau
VirtualInputManager:SendTouchEvent(touchId: number, state: number, x: number, y: number)
```

- Tags: Roblox script security

### SetInputTypesToIgnore

```luau
VirtualInputManager:SetInputTypesToIgnore(inputTypesToIgnore: any)
```

- Tags: Roblox script security

### StartPlaying

```luau
VirtualInputManager:StartPlaying(fileName: string)
```

- Tags: Roblox script security

### StartPlayingJSON

```luau
VirtualInputManager:StartPlayingJSON(string: string)
```

- Tags: Roblox script security

### StartRecording

```luau
VirtualInputManager:StartRecording()
```

- Tags: Roblox script security

### StopPlaying

```luau
VirtualInputManager:StopPlaying()
```

- Tags: Roblox script security

### StopRecording

```luau
VirtualInputManager:StopRecording()
```

- Tags: Roblox script security

### WaitForInputEventsProcessed

```luau
VirtualInputManager:WaitForInputEventsProcessed()
```

- Tags: Yields, Roblox script security

### sendRobloxEvent

```luau
VirtualInputManager:sendRobloxEvent(namespace: string, detail: string, detailType: string)
```

- Tags: Roblox script security

### sendThemeChangeEvent

```luau
VirtualInputManager:sendThemeChangeEvent(themeName: string)
```

- Tags: Roblox script security

## Events

### PlaybackCompleted

```luau
VirtualInputManager.PlaybackCompleted: RBXScriptSignal<(additionalLuaState: string)>
```

- Tags: Roblox script security

### RecordingCompleted

```luau
VirtualInputManager.RecordingCompleted: RBXScriptSignal<(result: string)>
```

- Tags: Roblox script security

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
