version 1.13, 2009/07/21 19:54:22 |
version 1.14, 2009/07/24 14:52:47 |
|
|
if (!(c->flags & CLIENT_PREFIX)) { |
if (!(c->flags & CLIENT_PREFIX)) { |
if (key == prefix) |
if (key == prefix) |
c->flags |= CLIENT_PREFIX; |
c->flags |= CLIENT_PREFIX; |
else |
else { |
window_pane_key(wp, c, key); |
/* Try as a non-prefix key binding. */ |
|
if ((bd = key_bindings_lookup(key)) == NULL) |
|
window_pane_key(wp, c, key); |
|
else |
|
key_bindings_dispatch(bd, c); |
|
} |
continue; |
continue; |
} |
} |
|
|
/* Prefix key already pressed. Reset prefix and lookup key. */ |
/* Prefix key already pressed. Reset prefix and lookup key. */ |
c->flags &= ~CLIENT_PREFIX; |
c->flags &= ~CLIENT_PREFIX; |
if ((bd = key_bindings_lookup(key)) == NULL) { |
if ((bd = key_bindings_lookup(key | KEYC_PREFIX)) == NULL) { |
/* If repeating, treat this as a key, else ignore. */ |
/* If repeating, treat this as a key, else ignore. */ |
if (c->flags & CLIENT_REPEAT) { |
if (c->flags & CLIENT_REPEAT) { |
c->flags &= ~CLIENT_REPEAT; |
c->flags &= ~CLIENT_REPEAT; |