---
title: UIKeyInput
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uikeyinput
---

# UIKeyInput

A set of methods a responder uses to implement simple text entry.

## Declaration

```swift
@MainActor protocol UIKeyInput : UITextInputTraits
```

## Mentioned in

Handling text interactions in custom keyboards

## Overview

Overview Adopt this protocol in a subclass of UIResponder to support text entry. When instances of this subclass are the first responder, the system keyboard displays. Only a small subset of the available keyboards and languages are available to classes that adopt this protocol.

## Topics

### Inserting and deleting text

- [insertText(_:)](uikit/uikeyinput/inserttext(_:).md)
- [deleteBackward()](uikit/uikeyinput/deletebackward().md)
- [hasText](uikit/uikeyinput/hastext.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [UITextInputTraits](uikit/uitextinputtraits.md)

### Inherited By

- [UITextDocumentProxy](uikit/uitextdocumentproxy.md)
- [UITextDraggable](uikit/uitextdraggable.md)
- [UITextDroppable](uikit/uitextdroppable.md)
- [UITextInput](uikit/uitextinput.md)

### Conforming Types

- [UISearchTextField](uikit/uisearchtextfield.md)
- [UITextField](uikit/uitextfield.md)
- [UITextView](uikit/uitextview.md)

## See Also

### Text input

- [UITextInput](uikit/uitextinput.md)
- [UITextInputDelegate](uikit/uitextinputdelegate.md)
- [UITextInputTraits](uikit/uitextinputtraits.md)
- [UITextInputContext](uikit/uitextinputcontext.md)
- [UITextInputMode](uikit/uitextinputmode.md)
- [UITextInputAssistantItem](uikit/uitextinputassistantitem.md)
- [UIDictationPhrase](uikit/uidictationphrase.md)
