Commit Graph

7 Commits

Author SHA1 Message Date
fang
49a991e40e
term: final +belt tweaks
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.
2021-03-19 23:56:51 +01:00
fang
2861de983b
dill: replace %ctl and %met belts with %key
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.
2021-03-13 02:19:36 +01:00
fang
7ab6d7dc9c
term: add minimal mouse support
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.
2021-02-10 14:23:03 +01:00
fang
eb40e2feed
webterm: handle unicode more correctly
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.
2020-11-10 20:42:28 +01:00
fang
5f5e1def83
mark: handle unicode in belt correctly
Input should be treated as unicode strings
2020-11-10 19:27:25 +01:00
fang
acd9176d76
webterm: clean up 2020-11-06 22:32:13 +01:00
fang
185b553c99
herm: userspace dill proxy
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.
2020-11-05 19:39:08 +01:00