This changes sole.js to handle cursor behaviour for tabbing.
It does so by overriding the cursor position in transpose if it's greater
than it expects. This could produce errant results if other sole apps
use insert behind text, but that seems like an edge case. Flagged for
future with a comment.
If you clicked in the input field, the cursor would stay where it was.
This adds the cursor as a way of controlling the component, fixing the behaviour.
The behaviour of $tab sole-effects lacked a 'tab' key, so Soto wasn't
catching or writing them to the screen. This commit amends both the
handler and the sole-effect to fix that behaviour.
The keypress handler would check if backspace was past position 0
before deleting one character at that position. If you were at position
0, then it would drop down to the 'else' and send the key value as a
string, throwing off the state between front and back end. This commit
fixes the issue, ignoring Backspace at position 0.
Since Soto is the name of the relay, its location in Landscape should be
the application it relays to: Dojo. This commit amends the mount paths
and source paths accordingly.