title: SwiftUI iOS - how to capture hardware key events
body: <p>I’m new to iOS development. Following a tutorial I have created a simple calculator using SwiftUI.</p>
  
  <p>I have a keyboard attached to my iPad, and I would like to be able to enter values using the keyboard.</p>
  
  <p>How can I capture and handle hardware keyboard events in a SwiftUI app (with no text field) ? 
  I have tried to use the keyCommands on the SceneDelegate (UIResponder) as shown here, but that doesn’t work for me. As soon as I press any key on my iPad, I get “Connection to deamon was invalidated” in the XCode trace view.</p>
  
  <pre><code> class SceneDelegate: UIResponder, UIWindowSceneDelegate {
      var window: UIWindow?
  
      override var canBecomeFirstResponder: Bool {
          return true;
      }
      override var keyCommands: [UIKeyCommand]? {
          return [
              UIKeyCommand(input: "a", modifierFlags: [], action: #selector(test)),
              UIKeyCommand(input: UIKeyCommand.inputLeftArrow, modifierFlags: [], action: #selector(test))
          ]
      }
  
      @objc func test(_ sender: UIKeyCommand) {
          print("test was pressed")
      }
  </code></pre>
  
  <p>Thanks</p>