Username or EmailPassword
iOS - UIKit specifically - doesn't have event processing at the SDK level for mouse or key events, which makes perfect sense since it's designed for a touch interface - mouse movement/clicking and key handling isn't the same as multi-touch.
I'd encourage you to take a look at how the iCade SDK has to work around the missing key events to get joystick and button events into games that support it. (Start with a hidden text field's delegate and go a bit downhill from there since that delegate doesn't know about 'key down' or 'key up' either...)
Again, that in no way makes iOS less flexible since it's a UIKit design question, and having mouse events - or in 99.9% of the time keyboard events - in UIKit would needlessly complicate event handling, but it's a stretch to claim it handles all kinds of input equally well.