---
title: NSEvent.SpecialKey
framework: appkit
role: symbol
role_heading: Structure
path: appkit/nsevent/specialkey-swift.struct
---

# NSEvent.SpecialKey

Constants for reserved function keys on the keyboard.

## Declaration

```swift
struct SpecialKey
```

## Overview

Overview These constants correspond to unicode characters in the range (0xF700–0xF8FF) and are values you can use with the characters and charactersIgnoringModifiers properties of the event. You can also use them in some parameters in the keyEvent(with:location:modifierFlags:timestamp:windowNumber:context:characters:charactersIgnoringModifiers:isARepeat:keyCode:) method of the event. Note that the system handles some function keys at a lower level and your app never sees them. Examples include the Volume Up key, Volume Down key, Volume Mute key, Eject key, and Function key found on many Macs.

## Topics

### Getting Common Control Keys

- [backspace](appkit/nsevent/specialkey-swift.struct/backspace.md)
- [carriageReturn](appkit/nsevent/specialkey-swift.struct/carriagereturn.md)
- [newline](appkit/nsevent/specialkey-swift.struct/newline.md)
- [enter](appkit/nsevent/specialkey-swift.struct/enter.md)
- [delete](appkit/nsevent/specialkey-swift.struct/delete.md)
- [deleteForward](appkit/nsevent/specialkey-swift.struct/deleteforward.md)
- [backTab](appkit/nsevent/specialkey-swift.struct/backtab.md)
- [tab](appkit/nsevent/specialkey-swift.struct/tab.md)

### Getting the Navigation-Related Keys

- [upArrow](appkit/nsevent/specialkey-swift.struct/uparrow.md)
- [downArrow](appkit/nsevent/specialkey-swift.struct/downarrow.md)
- [leftArrow](appkit/nsevent/specialkey-swift.struct/leftarrow.md)
- [rightArrow](appkit/nsevent/specialkey-swift.struct/rightarrow.md)
- [pageUp](appkit/nsevent/specialkey-swift.struct/pageup.md)
- [pageDown](appkit/nsevent/specialkey-swift.struct/pagedown.md)
- [home](appkit/nsevent/specialkey-swift.struct/home.md)
- [end](appkit/nsevent/specialkey-swift.struct/end.md)
- [prev](appkit/nsevent/specialkey-swift.struct/prev.md)
- [next](appkit/nsevent/specialkey-swift.struct/next.md)

### Getting Special Behavior Keys

- [begin](appkit/nsevent/specialkey-swift.struct/begin.md)
- [break](appkit/nsevent/specialkey-swift.struct/break.md)
- [clearDisplay](appkit/nsevent/specialkey-swift.struct/cleardisplay.md)
- [clearLine](appkit/nsevent/specialkey-swift.struct/clearline.md)
- [deleteCharacter](appkit/nsevent/specialkey-swift.struct/deletecharacter.md)
- [deleteLine](appkit/nsevent/specialkey-swift.struct/deleteline.md)
- [execute](appkit/nsevent/specialkey-swift.struct/execute.md)
- [find](appkit/nsevent/specialkey-swift.struct/find.md)
- [formFeed](appkit/nsevent/specialkey-swift.struct/formfeed.md)
- [help](appkit/nsevent/specialkey-swift.struct/help.md)
- [insert](appkit/nsevent/specialkey-swift.struct/insert.md)
- [insertCharacter](appkit/nsevent/specialkey-swift.struct/insertcharacter.md)
- [insertLine](appkit/nsevent/specialkey-swift.struct/insertline.md)
- [lineSeparator](appkit/nsevent/specialkey-swift.struct/lineseparator.md)
- [menu](appkit/nsevent/specialkey-swift.struct/menu.md)
- [modeSwitch](appkit/nsevent/specialkey-swift.struct/modeswitch.md)
- [paragraphSeparator](appkit/nsevent/specialkey-swift.struct/paragraphseparator.md)
- [pause](appkit/nsevent/specialkey-swift.struct/pause.md)
- [print](appkit/nsevent/specialkey-swift.struct/print.md)
- [printScreen](appkit/nsevent/specialkey-swift.struct/printscreen.md)
- [redo](appkit/nsevent/specialkey-swift.struct/redo.md)
- [reset](appkit/nsevent/specialkey-swift.struct/reset.md)
- [scrollLock](appkit/nsevent/specialkey-swift.struct/scrolllock.md)
- [select](appkit/nsevent/specialkey-swift.struct/select.md)
- [stop](appkit/nsevent/specialkey-swift.struct/stop.md)
- [sysReq](appkit/nsevent/specialkey-swift.struct/sysreq.md)
- [system](appkit/nsevent/specialkey-swift.struct/system.md)
- [undo](appkit/nsevent/specialkey-swift.struct/undo.md)
- [user](appkit/nsevent/specialkey-swift.struct/user.md)

### Getting the Function Keys

- [f1](appkit/nsevent/specialkey-swift.struct/f1.md)
- [f2](appkit/nsevent/specialkey-swift.struct/f2.md)
- [f3](appkit/nsevent/specialkey-swift.struct/f3.md)
- [f4](appkit/nsevent/specialkey-swift.struct/f4.md)
- [f5](appkit/nsevent/specialkey-swift.struct/f5.md)
- [f6](appkit/nsevent/specialkey-swift.struct/f6.md)
- [f7](appkit/nsevent/specialkey-swift.struct/f7.md)
- [f8](appkit/nsevent/specialkey-swift.struct/f8.md)
- [f9](appkit/nsevent/specialkey-swift.struct/f9.md)
- [f10](appkit/nsevent/specialkey-swift.struct/f10.md)
- [f11](appkit/nsevent/specialkey-swift.struct/f11.md)
- [f12](appkit/nsevent/specialkey-swift.struct/f12.md)
- [f13](appkit/nsevent/specialkey-swift.struct/f13.md)
- [f14](appkit/nsevent/specialkey-swift.struct/f14.md)
- [f15](appkit/nsevent/specialkey-swift.struct/f15.md)
- [f16](appkit/nsevent/specialkey-swift.struct/f16.md)
- [f17](appkit/nsevent/specialkey-swift.struct/f17.md)
- [f18](appkit/nsevent/specialkey-swift.struct/f18.md)
- [f19](appkit/nsevent/specialkey-swift.struct/f19.md)
- [f20](appkit/nsevent/specialkey-swift.struct/f20.md)
- [f21](appkit/nsevent/specialkey-swift.struct/f21.md)
- [f22](appkit/nsevent/specialkey-swift.struct/f22.md)
- [f23](appkit/nsevent/specialkey-swift.struct/f23.md)
- [f24](appkit/nsevent/specialkey-swift.struct/f24.md)
- [f25](appkit/nsevent/specialkey-swift.struct/f25.md)
- [f26](appkit/nsevent/specialkey-swift.struct/f26.md)
- [f27](appkit/nsevent/specialkey-swift.struct/f27.md)
- [f28](appkit/nsevent/specialkey-swift.struct/f28.md)
- [f29](appkit/nsevent/specialkey-swift.struct/f29.md)
- [f30](appkit/nsevent/specialkey-swift.struct/f30.md)
- [f31](appkit/nsevent/specialkey-swift.struct/f31.md)
- [f32](appkit/nsevent/specialkey-swift.struct/f32.md)
- [f33](appkit/nsevent/specialkey-swift.struct/f33.md)
- [f34](appkit/nsevent/specialkey-swift.struct/f34.md)
- [f35](appkit/nsevent/specialkey-swift.struct/f35.md)

### Getting the Key’s Value

- [unicodeScalar](appkit/nsevent/specialkey-swift.struct/unicodescalar.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)

## See Also

### Getting key event information

- [characters](appkit/nsevent/characters.md)
- [charactersIgnoringModifiers](appkit/nsevent/charactersignoringmodifiers.md)
- [keyCode](appkit/nsevent/keycode.md)
- [characters(byApplyingModifiers:)](appkit/nsevent/characters(byapplyingmodifiers:).md)
- [keyRepeatDelay](appkit/nsevent/keyrepeatdelay.md)
- [keyRepeatInterval](appkit/nsevent/keyrepeatinterval.md)
- [specialKey](appkit/nsevent/specialkey-swift.property.md)
- [Function-Key Unicode Values](appkit/function-key-unicode-values.md)
- [isARepeat](appkit/nsevent/isarepeat.md)
