direct copy of Elm.keyboard
export the Keyboard factory