---
title: CGMouseButton
framework: coregraphics
role: symbol
role_heading: Enumeration
path: coregraphics/cgmousebutton
---

# CGMouseButton

Constants that specify buttons on a one, two, or three-button mouse.

## Declaration

```swift
enum CGMouseButton
```

## Overview

Overview Quartz supports up to 32 mouse buttons. The first three buttons are specified using these three constants. Additional buttons are specified in USB order using the integers 3 to 31. These constants are used: In the function init(mouseEventSource:mouseType:mouseCursorPosition:mouseButton:) to specify the button that’s changing state. In the function buttonState(_:button:) to specify the button that’s being tested. To specify the value of the kCGMouseEventButtonNumber event field when modifying an event.

## Topics

### Constants

- [CGMouseButton.left](coregraphics/cgmousebutton/left.md)
- [CGMouseButton.right](coregraphics/cgmousebutton/right.md)
- [CGMouseButton.center](coregraphics/cgmousebutton/center.md)

### Initializers

- [init(rawValue:)](coregraphics/cgmousebutton/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Enumerations

- [CGCaptureOptions](coregraphics/cgcaptureoptions.md)
- [CGColorConversionInfoTransformType](coregraphics/cgcolorconversioninfotransformtype.md)
- [CGColorRenderingIntent](coregraphics/cgcolorrenderingintent.md)
- [CGConfigureOption](coregraphics/cgconfigureoption.md)
- [CGDisplayChangeSummaryFlags](coregraphics/cgdisplaychangesummaryflags.md)
- [CGDisplayStreamFrameStatus](coregraphics/cgdisplaystreamframestatus.md)
- [CGDisplayStreamUpdateRectType](coregraphics/cgdisplaystreamupdaterecttype.md)
- [CGError](coregraphics/cgerror.md)
- [CGEventField](coregraphics/cgeventfield.md)
- [CGEventFilterMask](coregraphics/cgeventfiltermask.md)
- [CGEventFlags](coregraphics/cgeventflags.md)
- [CGEventMouseSubtype](coregraphics/cgeventmousesubtype.md)
- [CGEventSourceStateID](coregraphics/cgeventsourcestateid.md)
- [CGEventSuppressionState](coregraphics/cgeventsuppressionstate.md)
- [CGEventTapLocation](coregraphics/cgeventtaplocation.md)
