From 9ec09b90c9bb023bb69a6b703ce4df40d397f5e6 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Sun, 24 Jul 2016 00:41:49 +0200 Subject: Make ASCII NUL imply Ctrl-Space instead of C-@ Seems mostly arbitrary. --- termo.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'termo.c') diff --git a/termo.c b/termo.c index 38caba2..953bc88 100644 --- a/termo.c +++ b/termo.c @@ -778,7 +778,15 @@ parse_multibyte (termo_t *tk, const unsigned char *bytes, size_t len, static void emit_codepoint (termo_t *tk, uint32_t codepoint, termo_key_t *key) { - if (codepoint < 0x20) + if (codepoint == 0) + { + // ASCII NUL = Ctrl-Space as well as Ctrl-@ but let's prefer + // the former to follow the behaviour of libtermkey + key->type = TERMO_TYPE_KEYSYM; + key->code.sym = TERMO_SYM_SPACE; + key->modifiers = TERMO_KEYMOD_CTRL; + } + else if (codepoint < 0x20) { // C0 range key->code.codepoint = 0; -- cgit v1.2.3-70-g09d2