diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-05-25 22:44:12 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-05-25 22:44:12 +0300 |
commit | 7b8229dab12ddfe34b91a6eccce7744db17d398a (patch) | |
tree | b569a2c085e2cbaab1975497500a1dd9001e7ba8 /vendor/maunium.net/go/tcell/console_win.go | |
parent | a76ce88a30e8c09603350a88827cf24239e8e44a (diff) |
Update dependencies
Diffstat (limited to 'vendor/maunium.net/go/tcell/console_win.go')
-rw-r--r-- | vendor/maunium.net/go/tcell/console_win.go | 13 |
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 |