xP: support adding formatting from keyboard

Just like in xC, only with some indication.
This commit is contained in:
2022-09-23 09:37:23 +02:00
parent 67d52a2d89
commit f2d8de3ab9
2 changed files with 66 additions and 25 deletions

9
xC.c
View File

@@ -15010,21 +15010,28 @@ process_formatting_escape (const struct pollfd *fd, struct app_context *ctx)
if (buf->len != 1)
goto error;
// Letters mostly taken from their caret escapes + HTML element names.
// Additionally, 'm' stands for mono, 'x' for cross, 'r' for reset.
switch (buf->str[0])
{
case 'b' ^ 96:
case 'b': CALL_ (ctx->input, insert, "\x02"); break;
case 'c': CALL_ (ctx->input, insert, "\x03"); break;
case 'q':
case 'm': CALL_ (ctx->input, insert, "\x11"); break;
case 'v': CALL_ (ctx->input, insert, "\x16"); break;
case 'i' ^ 96:
case 'i':
case ']': CALL_ (ctx->input, insert, "\x1d"); break;
case 's' ^ 96:
case 's':
case 'x' ^ 96:
case 'x':
case '^': CALL_ (ctx->input, insert, "\x1e"); break;
case 'u' ^ 96:
case 'u':
case '_': CALL_ (ctx->input, insert, "\x1f"); break;
case 'v': CALL_ (ctx->input, insert, "\x16"); break;
case 'r':
case 'o': CALL_ (ctx->input, insert, "\x0f"); break;