---
title: KeyEquivalent
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/keyequivalent
---

# KeyEquivalent

Key equivalents consist of a letter, punctuation, or function key that can be combined with an optional set of modifier keys to specify a keyboard shortcut.

## Declaration

```swift
struct KeyEquivalent
```

## Overview

Overview Key equivalents are used to establish keyboard shortcuts to app functionality. Any key can be used as a key equivalent as long as pressing it produces a single character value. Key equivalents are typically initialized using a single-character string literal, with constants for unprintable or hard-to-type values. The modifier keys necessary to type a key equivalent are factored in to the resulting keyboard shortcut. That is, a key equivalent whose raw value is the capitalized string “A” corresponds with the keyboard shortcut Command-Shift-A. The exact mapping may depend on the keyboard layout—for example, a key equivalent with the character value “}” produces a shortcut equivalent to Command-Shift-] on ANSI keyboards, but would produce a different shortcut for keyboard layouts where punctuation characters are in different locations.

## Topics

### Getting arrow keys

- [upArrow](swiftui/keyequivalent/uparrow.md)
- [downArrow](swiftui/keyequivalent/downarrow.md)
- [leftArrow](swiftui/keyequivalent/leftarrow.md)
- [rightArrow](swiftui/keyequivalent/rightarrow.md)

### Getting other special keys

- [clear](swiftui/keyequivalent/clear.md)
- [delete](swiftui/keyequivalent/delete.md)
- [deleteForward](swiftui/keyequivalent/deleteforward.md)
- [end](swiftui/keyequivalent/end.md)
- [escape](swiftui/keyequivalent/escape.md)
- [home](swiftui/keyequivalent/home.md)
- [pageDown](swiftui/keyequivalent/pagedown.md)
- [pageUp](swiftui/keyequivalent/pageup.md)
- [return](swiftui/keyequivalent/return.md)
- [space](swiftui/keyequivalent/space.md)
- [tab](swiftui/keyequivalent/tab.md)

### Creating a key equivalent

- [init(_:)](swiftui/keyequivalent/init(_:).md)
- [character](swiftui/keyequivalent/character.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [ExpressibleByExtendedGraphemeClusterLiteral](swift/expressiblebyextendedgraphemeclusterliteral.md)
- [ExpressibleByUnicodeScalarLiteral](swift/expressiblebyunicodescalarliteral.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Creating keyboard shortcuts

- [keyboardShortcut(_:)](swiftui/view/keyboardshortcut(_:).md)
- [keyboardShortcut(_:modifiers:)](swiftui/view/keyboardshortcut(_:modifiers:).md)
- [keyboardShortcut(_:modifiers:localization:)](swiftui/view/keyboardshortcut(_:modifiers:localization:).md)
- [keyboardShortcut](swiftui/environmentvalues/keyboardshortcut.md)
- [KeyboardShortcut](swiftui/keyboardshortcut.md)
- [EventModifiers](swiftui/eventmodifiers.md)
