---
title: Keyboards and input
framework: uikit
role: collectionGroup
role_heading: API Collection
path: uikit/keyboards-and-input
---

# Keyboards and input

Configure the system keyboard, create your own keyboards to handle input, or detect key presses on a physical keyboard.

## Topics

### Text input

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

### Text interactions

- [UITextInteraction](uikit/uitextinteraction.md)
- [UITextInteractionDelegate](uikit/uitextinteractiondelegate.md)
- [UITextInteractionMode](uikit/uitextinteractionmode.md)

### Custom text selection

- [Adopting system selection UI in custom text views](uikit/adopting-system-selection-ui-in-custom-text-views.md)
- [UITextSelectionDisplayInteraction](uikit/uitextselectiondisplayinteraction.md)
- [UITextSelectionHighlightView](uikit/uitextselectionhighlightview.md)
- [UITextSelectionHandleView](uikit/uitextselectionhandleview.md)
- [UITextCursorView](uikit/uitextcursorview.md)
- [UIStandardTextCursorView](uikit/uistandardtextcursorview.md)
- [UITextCursorDropPositionAnimator](uikit/uitextcursordroppositionanimator.md)
- [UITextLoupeSession](uikit/uitextloupesession.md)

### Text actions and menus

- [UITextItem](uikit/uitextitem.md)
- [UITextItem.MenuConfiguration](uikit/uitextitem/menuconfiguration.md)
- [UITextViewDelegate](uikit/uitextviewdelegate.md)

### Smart Reply for messaging

- [Adopting Smart Reply in your messaging or email app](uikit/adopting-smart-reply-in-your-messaging-or-email-app.md)
- [UIConversationContext](uikit/uiconversationcontext.md)
- [UIConversationContext.Entry](uikit/uiconversationcontext/entry.md)
- [UIMailConversationContext](uikit/uimailconversationcontext.md)
- [UIMailConversationContext.MailEntry](uikit/uimailconversationcontext/mailentry.md)
- [UIMessageConversationContext](uikit/uimessageconversationcontext.md)
- [UIMessageConversationContext.MessageEntry](uikit/uimessageconversationcontext/messageentry.md)
- [UIInputSuggestion](uikit/uiinputsuggestion.md)
- [UISmartReplySuggestion](uikit/uismartreplysuggestion.md)

### Text tokenizer

- [UITextInputTokenizer](uikit/uitextinputtokenizer.md)
- [UITextInputStringTokenizer](uikit/uitextinputstringtokenizer.md)

### Keyboard layout

- [Adjusting your layout with keyboard layout guide](uikit/adjusting-your-layout-with-keyboard-layout-guide.md)
- [UIKeyboardLayoutGuide](uikit/uikeyboardlayoutguide.md)
- [UITrackingLayoutGuide](uikit/uitrackinglayoutguide.md)

### Custom keyboards

- [Creating a custom keyboard](uikit/creating-a-custom-keyboard.md)
- [UIInputViewController](uikit/uiinputviewcontroller.md)
- [UIInputView](uikit/uiinputview.md)
- [UILexicon](uikit/uilexicon.md)
- [UILexiconEntry](uikit/uilexiconentry.md)
- [UITextDocumentProxy](uikit/uitextdocumentproxy.md)

### Physical keyboards

- [Handling key presses made on a physical keyboard](uikit/handling-key-presses-made-on-a-physical-keyboard.md)
- [Navigating an app’s user interface using a keyboard](uikit/navigating-an-app-s-user-interface-using-a-keyboard.md)
- [Adding hardware keyboard support to your app](uikit/adding-hardware-keyboard-support-to-your-app.md)
- [UIKey](uikit/uikey.md)
- [UIKeyboardHIDUsage](uikit/uikeyboardhidusage.md)

## See Also

### Text

- [Text display and fonts](uikit/text-display-and-fonts.md)
- [TextKit](uikit/textkit.md)
- [Writing Tools](uikit/writing-tools.md)
- [Handwriting recognition](uikit/handwriting-recognition.md)
