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