# Mouse

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)
- Subclasses: [PlayerMouse](https://rapi.sleaze.dev/classes/PlayerMouse.md), [PluginMouse](https://rapi.sleaze.dev/classes/PluginMouse.md)
- Tags: Not creatable
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/Mouse/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/Mouse

Legacy object that contains members useful for pointer input.

## Properties

### Hit

```luau
Mouse.Hit: CFrame
```

- Tags: Read only, Read capabilities: Input, Save only

The [`CFrame`](https://rapi.sleaze.dev/index/types/CFrame.md) of the mouse's position in 3D space.

### Icon

```luau
Mouse.Icon: string
```

- Tags: Read capabilities: Input

The content ID of the image used as the [`Mouse`](https://rapi.sleaze.dev/classes/Mouse.md) icon.

### IconContent

```luau
Mouse.IconContent: Content
```

- Tags: Read capabilities: Input

The content of the image used as the [`Mouse`](https://rapi.sleaze.dev/classes/Mouse.md) icon. Only supports asset URIs.

### Origin

```luau
Mouse.Origin: CFrame
```

- Tags: Read only, Read capabilities: Input, Save only

A [`CFrame`](https://rapi.sleaze.dev/index/types/CFrame.md) positioned at the [`Workspace.CurrentCamera`](https://rapi.sleaze.dev/classes/Workspace.md) and oriented toward the mouse's 3D position.

### Target

```luau
Mouse.Target: BasePart
```

- Tags: Read only, Read capabilities: Input, Save only

The object in 3D space the `mouse` is pointing to.

### TargetFilter

```luau
Mouse.TargetFilter: Instance
```

- Tags: Read capabilities: Input

Determines an object (and its descendants) to be ignored when determining [`Mouse.Hit`](https://rapi.sleaze.dev/classes/Mouse.md) and [`Mouse.Target`](https://rapi.sleaze.dev/classes/Mouse.md).

### TargetSurface

```luau
Mouse.TargetSurface: Enum.NormalId
```

- Tags: Read only, Read capabilities: Input, Save only

Indicates the `NormalId` of the [`BasePart`](https://rapi.sleaze.dev/classes/BasePart.md) surface at which the mouse is pointing.

### UnitRay

```luau
Mouse.UnitRay: Ray
```

- Tags: Read only, Read capabilities: Input, Save only

A [`Ray`](https://rapi.sleaze.dev/index/types/Ray.md) directed towards the mouse's world position, originating from the [`Workspace.CurrentCamera`](https://rapi.sleaze.dev/classes/Workspace.md) world position.

### ViewSizeX

```luau
Mouse.ViewSizeX: number
```

- Tags: Read only, Read capabilities: Input, Save only

Describes the width of the game window in pixels.

### ViewSizeY

```luau
Mouse.ViewSizeY: number
```

- Tags: Read only, Read capabilities: Input, Save only

Describes the height of the game window in pixels.

### X

```luau
Mouse.X: number
```

- Tags: Read only, Read capabilities: Input, Save only

Describes the X (horizontal) component of the mouse's position on the screen.

### Y

```luau
Mouse.Y: number
```

- Tags: Read only, Read capabilities: Input, Save only

Describes the Y (vertical) component of the mouse's screen position.

### hit

```luau
Mouse.hit: CFrame
```

- Tags: Deprecated, Hidden, Read only, Read capabilities: Input
- Use instead: [`Mouse.Hit`](https://rapi.sleaze.dev/classes/Mouse.md)

**Deprecated:** This property is a deprecated variant of [`Mouse.Hit`](https://rapi.sleaze.dev/classes/Mouse.md) which should be used instead.

### target

```luau
Mouse.target: BasePart
```

- Tags: Deprecated, Read only, Read capabilities: Input
- Use instead: [`Mouse.Target`](https://rapi.sleaze.dev/classes/Mouse.md)

**Deprecated:** This property is a deprecated variant of [`Mouse.Target`](https://rapi.sleaze.dev/classes/Mouse.md) which should be used instead.

## Events

### Button1Down

```luau
Mouse.Button1Down: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fires when the left mouse button is pressed.

### Button1Up

```luau
Mouse.Button1Up: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fires when the left mouse button is released.

### Button2Down

```luau
Mouse.Button2Down: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fires when the right mouse button is pressed.

### Button2Up

```luau
Mouse.Button2Up: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fired when the right mouse button is released.

### Idle

```luau
Mouse.Idle: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fired during every heartbeat that the mouse isn't being passed to another mouse event.

### Move

```luau
Mouse.Move: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fired when the mouse is moved.

### WheelBackward

```luau
Mouse.WheelBackward: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fires when the mouse wheel is scrolled backwards.

### WheelForward

```luau
Mouse.WheelForward: RBXScriptSignal<()>
```

- Tags: Capabilities: Input

Fires when the mouse wheel is scrolled forwards.

### KeyDown

```luau
Mouse.KeyDown: RBXScriptSignal<(key: string)>
```

- Tags: Deprecated, Capabilities: Input

**Deprecated:** Mouse events have been superseded by [`UserInputService`](https://rapi.sleaze.dev/classes/UserInputService.md) which should be used in all new work.

Fires when a Key is pressed.

### KeyUp

```luau
Mouse.KeyUp: RBXScriptSignal<(key: string)>
```

- Tags: Deprecated, Capabilities: Input

**Deprecated:** Mouse events have been superseded by [`UserInputService`](https://rapi.sleaze.dev/classes/UserInputService.md) which should be used in all new work.

Fires when a Key is released.

### keyDown

```luau
Mouse.keyDown: RBXScriptSignal<(key: string)>
```

- Tags: Deprecated, Capabilities: Input

**Deprecated:** This event is a deprecated variant of [`Mouse.KeyDown`](https://rapi.sleaze.dev/classes/Mouse.md) which has also been deprecated. Neither event should be used in new work.

## 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`
