To clarify how initial focus was set, create two messages, one for keyboard events, and one for non-keyboard events. This also gets rid of the awkward boolean parameter currently in setInitialFocus().
<rdar://problem/10232234>