Wrapping the becomeFirstResponder call in reAssignFirstResponder in an async back to the main thread to prevent infinite loops. see: http://https://github.com/danielamitay/DAKeyboardControl/issues/51