The previous version allowed for redundant values (both [%bac ~] and
[%key ~ %bac ~] for example), had an odd constraint in @cF, and relied
unnecessarily on $<.
Also rewords some of the belt and blit descriptions.
Previously, we relied on foolish hacks, like [%met %bac], to send
"special" keystrokes with modifiers.
This updates the belt type to have %key, which represents a single
keystroke, with any combination of modifier keys.
Note that this has overlap with %txt to some extent. [%key ~ 'a'] should
be considered equivalent and preferred to [%txt 'a' ~], but updating
existing usage is left to a later commit.
Only detects mouse clicks. Though, "9" mode seems broken, or unsupported
or something? Probably need to upgrade to "1000" mode or higher, but
that also reports scrolling events and such, which don't want to steal
from the context we're running in just yet.
Make the marks produce json arrays where the (list @c) type is used.
On the frontend, transform the semantic (character-based) cursor
position into a byte-based one, in order to ensure the cursor gets
rendered at the correct location, even if the presence of multi-byte
characters like emoji.
Listens to the default dill session and passes its %blits on to
subscribers. Passes any %belt pokes it gets into dill.
Updates webdojo to make use of it, which is the primary motivation for
herm's existence.