Reputation: 1918
I am porting an iOS app on MacOS using UIKit for Mac also known as iPad Apps for Mac or Project Catalyst.
The app uses keyCommands
from UIKit
to detect a single modifier key press:
UIKeyCommand(input: "", modifierFlags: .shift, action: #selector(singleShift))
This code works perfectly on iPad with an external keyboard, I am getting the event fired with every single ⇧ press. However, this does not work on MacOS, although single non-modifier events and modifier + non-modifier combinations work.
How do I achieve the desired behavior and get notified about single modifier key events?
Or maybe I should just give up on UIKeyCommand
and try UIGestureRecognizer
instead?
Upvotes: 15
Views: 926
Reputation: 51
This may not be your problem make sure you don't have any keyboard apps or apps that intercept keyboard input running. I had a problem like this when I had Karibeaner-elements installed.
Otherwise, if this is a limitation of catalyst consider wrapping a more stable API from app kit or use UIGestureRecognizer
.
Upvotes: 1