Don't handle ModAlt if no M-XXX mappings

This commit is contained in:
mattn 2014-06-25 09:50:30 +09:00
parent f55b8496f5
commit cfcd30edcd
2 changed files with 7 additions and 2 deletions

View file

@ -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()

View file

@ -579,3 +579,7 @@ func (km Keymap) UnmarshalJSON(buf []byte) error {
return nil
}
func (km Keymap) hasModifierMaps() bool {
return len(km[ModAlt]) > 0
}