Commit Graph

15 Commits

Author SHA1 Message Date
Ayman Bagabas 9563bafdf5
feat: support windows console input buffer
This adds support to the Windows Console Input Buffer API which access
the console API directly without the need for virtual terminal input
(i.e. the current mode that emulates unix inputs).
Since this uses the console input api, we can finally read window size
events.

This is mearly based on the awesome work of @erikgeiser in #140.

Fixes: https://github.com/charmbracelet/bubbletea/issues/538
Fixes: https://github.com/charmbracelet/bubbletea/issues/121
2023-12-15 14:25:03 -05:00
Ayman Bagabas a154847611
feat: extended Coordinates mouse reporting & additional buttons support (#594)
* feat(mouse): add extended mouse & shift key support

Support SGR(1006) mouse mode
Support parsing shift key press
Support additional mouse buttons
Report which button was released
Report button motion

* fix: key.go sgr len missing calculation (#841)

* chore(test): add sgr mouse msg detect test

---------

Co-authored-by: robinsamuel <96998379+robin-samuel@users.noreply.github.com>
2023-12-04 11:50:59 -05:00
Raphael 'kena' Poss 5536bca34e
fix(key): support very long buffered input (#570) 2023-10-18 12:59:26 +02:00
Raphael 'kena' Poss b1e7f42ab0 fix(key): invert the control loop
Instead of reading messages in an array and then sending them into a
channel, this version of key.go writes to the channel directly.
2023-06-20 12:48:13 +02:00
Raphael 'kena' Poss d9c675138c fix(key),test: simplify the input analysis code 2023-06-15 14:51:02 +02:00
Raphael 'kena' Poss 0e76ba142a fix(key): recover the insert key
We started supporting insert in #418, but then accidentally
removed it during a rebase in #396. Oops.
2022-10-07 14:54:27 +02:00
Raphael 'kena' Poss 7e7a729b31 fix: remove the now-unused hexes key mapping
This became unnecessary when we fixed the support for the Alt modifier
on control characters.
2022-10-03 22:43:17 +02:00
Raphael 'kena' Poss b074f6f5a4 fix: properly skip over unrecognized CSI sequences. 2022-10-03 22:43:17 +02:00
Raphael 'kena' Poss 134a930f2d keys: properly support the alt modifier 2022-08-30 11:17:11 +02:00
Christian Muehlhaeuser e6dabb3c36 fix: handle batched key msgs 2022-06-08 14:03:28 +02:00
Christian Rocha d301ee0405
change(keys): spacebar sends a `KeySpace` (#315)
* Revert "fix: update tests for space input"

This reverts commit bfb166822e.

* Revert "feat: obliterate type KeySpace"

This reverts commit d3fb1b707a.
2022-05-13 13:24:16 -04:00
Christian Rocha bfb166822e fix: update tests for space input 2022-05-10 16:56:37 -04:00
bashbunni 14e58aa1f9
fix(keys): spacebar now sends a `KeySpace` (#289)
* fix: replace keySP with working KeySpace

* test: update test to meet new reqs

* fix: fix test looking for 'space'

* fix(keys): set type to KeySpace when sending a space

* docs(keys): comments

Co-authored-by: Christian Rocha <christian@rocha.is>
2022-04-12 11:14:35 -04:00
Christian Muehlhaeuser 6301f93cb2 Support receiving batched mouse events
Mouse events may trigger more than a single events simultaneously.

Fixes #212.
2022-02-13 08:40:04 +01:00
Carlos A Becker 350b13cba7 test: key tests
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2021-10-12 14:21:02 -04:00