From 66d50bd7b04922a91fbe3e4d49c68070ec1a7b14 Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Tue, 6 Dec 2022 12:58:51 +0100 Subject: Add minibuffer --- src/keyboard.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/keyboard.c') diff --git a/src/keyboard.c b/src/keyboard.c index 012ec5a..aaeccd2 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1,6 +1,8 @@ #include "keyboard.h" #include "reactor.h" +#include "stdio.h" +#include #include #include #include @@ -41,8 +43,8 @@ void parse_keys(uint8_t *bytes, uint32_t nbytes, struct key *out_keys, *out_nkeys = nkps; } -struct keyboard_update keyboard_begin_frame(struct keyboard *kbd, - struct reactor *reactor) { +struct keyboard_update keyboard_update(struct keyboard *kbd, + struct reactor *reactor) { struct keyboard_update upd = (struct keyboard_update){.keys = {0}, .nkeys = 0}; @@ -67,8 +69,20 @@ struct keyboard_update keyboard_begin_frame(struct keyboard *kbd, return upd; } -void keyboard_end_frame(struct keyboard *kbd) {} - bool key_equal(struct key *key, uint8_t mod, uint8_t c) { return key->c == c && key->mod == mod; } + +void key_name(struct key *key, char *buf, size_t capacity) { + const char *mod = ""; + switch (key->mod) { + case Ctrl: + mod = "c-"; + break; + case Meta: + mod = "m-"; + break; + } + + snprintf(buf, capacity, "%s%c", mod, tolower((char)key->c)); +} -- cgit v1.2.3