aboutsummaryrefslogtreecommitdiff
path: root/vendor/maunium.net/go/tcell/console_win.go
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-05-25 22:44:12 +0300
committerTulir Asokan <tulir@maunium.net>2018-05-25 22:44:12 +0300
commit7b8229dab12ddfe34b91a6eccce7744db17d398a (patch)
treeb569a2c085e2cbaab1975497500a1dd9001e7ba8 /vendor/maunium.net/go/tcell/console_win.go
parenta76ce88a30e8c09603350a88827cf24239e8e44a (diff)
Update dependencies
Diffstat (limited to 'vendor/maunium.net/go/tcell/console_win.go')
-rw-r--r--vendor/maunium.net/go/tcell/console_win.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/vendor/maunium.net/go/tcell/console_win.go b/vendor/maunium.net/go/tcell/console_win.go
index 21a235d..5957a17 100644
--- a/vendor/maunium.net/go/tcell/console_win.go
+++ b/vendor/maunium.net/go/tcell/console_win.go
@@ -185,7 +185,7 @@ func (s *cScreen) CharacterSet() string {
}
func (s *cScreen) EnableMouse() {
- s.setInMode(modeResizeEn | modeMouseEn)
+ s.setInMode(modeResizeEn | modeMouseEn | modeExtndFlg)
}
func (s *cScreen) DisableMouse() {
@@ -570,8 +570,14 @@ func (s *cScreen) getConsoleInput() error {
if krec.ch != 0 {
// synthesized key code
for krec.repeat > 0 {
- s.PostEvent(NewEventKey(KeyRune, rune(krec.ch),
- mod2mask(krec.mod)))
+ // convert shift+tab to backtab
+ if mod2mask(krec.mod) == ModShift && krec.ch == vkTab {
+ s.PostEvent(NewEventKey(KeyBacktab, 0,
+ ModNone))
+ } else {
+ s.PostEvent(NewEventKey(KeyRune, rune(krec.ch),
+ mod2mask(krec.mod)))
+ }
krec.repeat--
}
return nil
@@ -925,6 +931,7 @@ func (s *cScreen) clearScreen(style Style) {
}
const (
+ modeExtndFlg uint32 = 0x0080
modeMouseEn uint32 = 0x0010
modeResizeEn uint32 = 0x0008
modeWrapEOL uint32 = 0x0002