From cfcd30edcd80b9be575423b56c5f52d45013a901 Mon Sep 17 00:00:00 2001 From: mattn Date: Wed, 25 Jun 2014 09:50:30 +0900 Subject: [PATCH] Don't handle ModAlt if no M-XXX mappings --- input.go | 5 +++-- keymap.go | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/input.go b/input.go index c5d4aa6..e80b7ba 100644 --- a/input.go +++ b/input.go @@ -31,6 +31,7 @@ func (i *Input) Loop() { } }() + hasModifierMaps := i.config.Keymap.hasModifierMaps() var mod *time.Timer for { select { @@ -50,10 +51,10 @@ func (i *Input) Loop() { // Smells like Esc or Alt. mod == nil checks for the presense // of a previous timer - if ev.Ch == 0 && ev.Key == 27 && mod == nil { + if hasModifierMaps && ev.Ch == 0 && ev.Key == 27 && mod == nil { tmp := ev i.mutex.Lock() - mod = time.AfterFunc(200*time.Millisecond, func() { + mod = time.AfterFunc(50*time.Millisecond, func() { i.mutex.Lock() mod = nil i.mutex.Unlock() diff --git a/keymap.go b/keymap.go index faa65b9..7b68bfe 100644 --- a/keymap.go +++ b/keymap.go @@ -579,3 +579,7 @@ func (km Keymap) UnmarshalJSON(buf []byte) error { return nil } + +func (km Keymap) hasModifierMaps() bool { + return len(km[ModAlt]) > 0 +}