Full Keyboard Control in UIKit Apps
summary
Explains how to add full keyboard control to UIKit apps using UIKeyCommand and the UICommand/UIAction/UIKeyCommand menu hierarchy, and how the responder chain collects possible commands then looks up a handler when a key combination is pressed. Shows a real PDF Viewer ported to Mac via Catalyst, a KeyboardKit library on GitHub, and implementations for tab switching, nav bar key equivalents, arrow‑key table navigation, and responder chain injection. Notes practical limits: no key‑release/hold events and function keys are unreliable.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 0:40iPad Smart Keyboard
- 1:52Keyboard Interactions
- 2:33About Me
- 3:55Why Keyboard Control
- 13:44Low Level Keyboard Support
- 14:57Discoverability
- 16:28Speed
- 18:06Implementations
- 19:07Tab Bar Controller
- 20:11Key Commands
- 21:26Navigation Controller
- 22:23KeyCommands
- 23:30Arrow Keys
- 25:39Responder Chain Injection
- 26:44Text Input
- 29:01KeyboardKit
related talks
45mKeyboard avoiding in SwiftUI
38mEverything about iOS keyboards and text input
31mLeveraging AppKit to Improve Your Catalyst App
20mBuilding Mouse and Keyboard Support Apps for iPadOS
30mEvolving Existing Projects With SwiftUI
20mImplementing macOS-Only Features Missing on iOS with Catalyst
51mSwitch Control: An Intro for Mobile App Teams
21mUIKit on macOS - The Holy Grail of Cross-Platform
