get rid of the _keysource struct
handle and parse implicit-mode keys correctly
whitespace