---
title: NSEvent.EventType
framework: appkit
role: symbol
role_heading: Enumeration
path: appkit/nsevent/eventtype
---

# NSEvent.EventType

Constants for the types of events that responder objects can handle.

## Declaration

```swift
enum EventType
```

## Overview

Overview These constants appear in the event’s type property. You also use them when you construct new events.

## Topics

### Getting Mouse-Related Event Types

- [NSEvent.EventType.leftMouseDown](appkit/nsevent/eventtype/leftmousedown.md)
- [NSEvent.EventType.leftMouseDragged](appkit/nsevent/eventtype/leftmousedragged.md)
- [NSEvent.EventType.leftMouseUp](appkit/nsevent/eventtype/leftmouseup.md)
- [NSEvent.EventType.rightMouseDown](appkit/nsevent/eventtype/rightmousedown.md)
- [NSEvent.EventType.rightMouseUp](appkit/nsevent/eventtype/rightmouseup.md)
- [NSEvent.EventType.rightMouseDragged](appkit/nsevent/eventtype/rightmousedragged.md)
- [NSEvent.EventType.otherMouseDown](appkit/nsevent/eventtype/othermousedown.md)
- [NSEvent.EventType.otherMouseDragged](appkit/nsevent/eventtype/othermousedragged.md)
- [NSEvent.EventType.otherMouseUp](appkit/nsevent/eventtype/othermouseup.md)
- [NSEvent.EventType.mouseMoved](appkit/nsevent/eventtype/mousemoved.md)
- [NSEvent.EventType.mouseEntered](appkit/nsevent/eventtype/mouseentered.md)
- [NSEvent.EventType.mouseExited](appkit/nsevent/eventtype/mouseexited.md)

### Getting Keyboard Event Types

- [NSEvent.EventType.keyDown](appkit/nsevent/eventtype/keydown.md)
- [NSEvent.EventType.keyUp](appkit/nsevent/eventtype/keyup.md)

### Getting Touch-Based Events

- [NSEvent.EventType.beginGesture](appkit/nsevent/eventtype/begingesture.md)
- [NSEvent.EventType.endGesture](appkit/nsevent/eventtype/endgesture.md)
- [NSEvent.EventType.magnify](appkit/nsevent/eventtype/magnify.md)
- [NSEvent.EventType.smartMagnify](appkit/nsevent/eventtype/smartmagnify.md)
- [NSEvent.EventType.swipe](appkit/nsevent/eventtype/swipe.md)
- [NSEvent.EventType.rotate](appkit/nsevent/eventtype/rotate.md)
- [NSEvent.EventType.gesture](appkit/nsevent/eventtype/gesture.md)
- [NSEvent.EventType.directTouch](appkit/nsevent/eventtype/directtouch.md)
- [NSEvent.EventType.tabletPoint](appkit/nsevent/eventtype/tabletpoint.md)
- [NSEvent.EventType.tabletProximity](appkit/nsevent/eventtype/tabletproximity.md)
- [NSEvent.EventType.pressure](appkit/nsevent/eventtype/pressure.md)

### Getting Other Input Types

- [NSEvent.EventType.scrollWheel](appkit/nsevent/eventtype/scrollwheel.md)
- [NSEvent.EventType.changeMode](appkit/nsevent/eventtype/changemode.md)

### Getting System Event Types

- [NSEvent.EventType.appKitDefined](appkit/nsevent/eventtype/appkitdefined.md)
- [NSEvent.EventType.applicationDefined](appkit/nsevent/eventtype/applicationdefined.md)
- [NSEvent.EventType.cursorUpdate](appkit/nsevent/eventtype/cursorupdate.md)
- [NSEvent.EventType.flagsChanged](appkit/nsevent/eventtype/flagschanged.md)
- [NSEvent.EventType.periodic](appkit/nsevent/eventtype/periodic.md)
- [NSEvent.EventType.quickLook](appkit/nsevent/eventtype/quicklook.md)
- [NSEvent.EventType.systemDefined](appkit/nsevent/eventtype/systemdefined.md)

### Enumeration Cases

- [NSEvent.EventType.mouseCancelled](appkit/nsevent/eventtype/mousecancelled.md)

### Initializers

- [init(rawValue:)](appkit/nsevent/eventtype/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

### Getting the event type

- [type](appkit/nsevent/type.md)
- [NSEvent.EventTypeMask](appkit/nsevent/eventtypemask.md)
- [subtype](appkit/nsevent/subtype.md)
- [NSEvent.EventSubtype](appkit/nsevent/eventsubtype.md)
