wip: map key combos to custom text strings (including escapes)

With this, it is now possible to map key combos to custom escapes. The
new bindings are defined in a new section, “text-bindings”, on the
form “string=key combo”.

The string can consist of printable characters, or \xNN style hex
digits:

  [text-bindings]
  abcd = Control+a
  \x1b[A = Control+b Control+c Control+d  # map ctrl+b/c/d to UP
This commit is contained in:
Daniel Eklöf 2022-02-06 19:36:44 +01:00
parent 8fa16f616c
commit 422d94fb46
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
5 changed files with 132 additions and 4 deletions

View file

@ -313,6 +313,11 @@ execute_binding(struct seat *seat, struct terminal *term,
return true;
}
case BIND_ACTION_TEXT_BINDING:
xassert(binding->aux->type == BINDING_AUX_TEXT);
term_to_slave(term, binding->aux->text.data, binding->aux->text.len);
return true;
case BIND_ACTION_SELECT_BEGIN:
selection_start(
term, seat->mouse.col, seat->mouse.row, SELECTION_CHAR_WISE, false);