Use a macro-based mask for obtaining a key or modifier-set from the

combination. Display C-@, etc, as C-Space, in list-keys. By Micah Cowan.
This commit is contained in:
Nicholas Marriott
2010-06-06 19:00:13 +00:00
parent 4e3bed2035
commit dcc100f165
3 changed files with 17 additions and 4 deletions

View File

@@ -367,7 +367,7 @@ window_copy_key(struct window_pane *wp, struct session *sess, int key)
if (data->inputtype == WINDOW_COPY_JUMPFORWARD
|| data->inputtype == WINDOW_COPY_JUMPBACK) {
/* Ignore keys with modifiers. */
if ((key & 0xff00) == 0) {
if ((key & KEYC_MASK_MOD) == 0) {
data->jumpchar = key;
if (data->inputtype == WINDOW_COPY_JUMPFORWARD) {
for (; np != 0; np--)
@@ -627,7 +627,7 @@ window_copy_key(struct window_pane *wp, struct session *sess, int key)
*data->inputstr = '\0';
goto input_on;
case MODEKEYCOPY_STARTNUMBERPREFIX:
key &= 0xff;
key &= KEYC_MASK_KEY;
if (key >= '0' && key <= '9') {
data->inputtype = WINDOW_COPY_NUMERICPREFIX;
data->numprefix = 0;
@@ -741,7 +741,7 @@ window_copy_key_numeric_prefix(struct window_pane *wp, int key)
struct window_copy_mode_data *data = wp->modedata;
struct screen *s = &data->screen;
key &= 0xff;
key &= KEYC_MASK_KEY;
if (key < '0' || key > '9')
return 1;