Skip to content

Commit 30fb628

Browse files
author
nicm
committed
Log the key written to the terminal as well as tmux's idea of what it
is.
1 parent efb5e58 commit 30fb628

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

input-keys.c

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,14 @@ input_key_pane(struct window_pane *wp, key_code key, struct mouse_event *m)
429429
return (input_key(wp->screen, wp->event, key));
430430
}
431431

432+
static void
433+
input_key_write(const char *from, struct bufferevent *bev, const void *data,
434+
size_t size)
435+
{
436+
log_debug("%s: %.*s", from, (int)size, data);
437+
bufferevent_write(bev, data, size);
438+
}
439+
432440
/* Translate a key code into an output key sequence. */
433441
int
434442
input_key(struct screen *s, struct bufferevent *bev, key_code key)
@@ -445,7 +453,7 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
445453
/* Literal keys go as themselves (can't be more than eight bits). */
446454
if (key & KEYC_LITERAL) {
447455
ud.data[0] = (u_char)key;
448-
bufferevent_write(bev, &ud.data[0], 1);
456+
input_key_write(__func__, bev, &ud.data[0], 1);
449457
return (0);
450458
}
451459

@@ -464,16 +472,16 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
464472
justkey = (key & ~(KEYC_META|KEYC_IMPLIED_META));
465473
if (justkey <= 0x7f) {
466474
if (key & KEYC_META)
467-
bufferevent_write(bev, "\033", 1);
475+
input_key_write(__func__, bev, "\033", 1);
468476
ud.data[0] = justkey;
469-
bufferevent_write(bev, &ud.data[0], 1);
477+
input_key_write(__func__, bev, &ud.data[0], 1);
470478
return (0);
471479
}
472480
if (justkey > 0x7f && justkey < KEYC_BASE) {
473481
if (key & KEYC_META)
474-
bufferevent_write(bev, "\033", 1);
482+
input_key_write(__func__, bev, "\033", 1);
475483
utf8_to_data(justkey, &ud);
476-
bufferevent_write(bev, ud.data, ud.size);
484+
input_key_write(__func__, bev, ud.data, ud.size);
477485
return (0);
478486
}
479487

@@ -495,8 +503,8 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
495503
if (ike != NULL) {
496504
log_debug("found key 0x%llx: \"%s\"", key, ike->data);
497505
if ((key & KEYC_META) && (~key & KEYC_IMPLIED_META))
498-
bufferevent_write(bev, "\033", 1);
499-
bufferevent_write(bev, ike->data, strlen(ike->data));
506+
input_key_write(__func__, bev, "\033", 1);
507+
input_key_write(__func__, bev, ike->data, strlen(ike->data));
500508
return (0);
501509
}
502510

@@ -561,7 +569,7 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
561569
goto missing;
562570
}
563571
xsnprintf(tmp, sizeof tmp, "\033[%llu;%cu", outkey, modifier);
564-
bufferevent_write(bev, tmp, strlen(tmp));
572+
input_key_write(__func__, bev, tmp, strlen(tmp));
565573
return (0);
566574

567575
missing:
@@ -657,5 +665,5 @@ input_key_mouse(struct window_pane *wp, struct mouse_event *m)
657665
if (!input_key_get_mouse(s, m, x, y, &buf, &len))
658666
return;
659667
log_debug("writing mouse %.*s to %%%u", (int)len, buf, wp->id);
660-
bufferevent_write(wp->event, buf, len);
668+
input_key_write(__func__, wp->event, buf, len);
661669
}

0 commit comments

Comments
 (0)