<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GameController",
  "identifier" : "/documentation/GameController/GCMouse",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Game Controller"
    ],
    "preciseIdentifier" : "c:objc(cs)GCMouse"
  },
  "title" : "GCMouse"
}
-->

# GCMouse

An object that represents a physical mouse connected to a device.

```
class GCMouse
```

## Overview

To get a mouse object and its input values, register for the <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/GCMouseDidConnect> (Swift) or [`GCMouseDidConnectNotification`](/documentation/GameController/GCMouseDidConnectNotification) (Objective-C) notification for when a mouse connects to the device. Then register for the <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/GCMouseDidBecomeCurrent>  (Swift) or [`GCMouseDidBecomeCurrentNotification`](/documentation/GameController/GCMouseDidBecomeCurrentNotification) (Objective-C) notification for when it becomes the [`current`](/documentation/GameController/GCMouse/current) mouse. Alternatively, use the [`current`](/documentation/GameController/GCMouse/current) class property or the [`mice()`](/documentation/GameController/GCMouse/mice()) class method to get a mouse object. Then get the current input values from the mouse object’s [`mouseInput`](/documentation/GameController/GCMouse/mouseInput) controller profile.

## Topics

### Discovering mouse devices

[`mice()`](/documentation/GameController/GCMouse/mice())

Returns any mice that the user connects to the device.

  <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/GCMouseDidConnect>

  <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/GCMouseDidDisconnect>

[`GCMouseDidConnectNotification`](/documentation/GameController/GCMouseDidConnectNotification)

A notification that posts after a mouse connects to the device.

[`GCMouseDidDisconnectNotification`](/documentation/GameController/GCMouseDidDisconnectNotification)

A notification that posts after a mouse disconnects from the device.

### Handling multiple mouse devices

[`current`](/documentation/GameController/GCMouse/current)

The most recent mouse that the user connects.

  <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/GCMouseDidBecomeCurrent>

  <doc://com.apple.documentation/documentation/Foundation/NSNotification/Name-swift.struct/GCMouseDidStopBeingCurrent>

[`GCMouseDidBecomeCurrentNotification`](/documentation/GameController/GCMouseDidBecomeCurrentNotification)

A notification that posts when a mouse becomes the most recent mouse that the user connects.

[`GCMouseDidStopBeingCurrentNotification`](/documentation/GameController/GCMouseDidStopBeingCurrentNotification)

A notification that posts when a mouse stops being the most recent mouse that the user connects.

### Getting input values

[`mouseInput`](/documentation/GameController/GCMouse/mouseInput)

The controller profile for the mouse device.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)