diff options
| author | Zach DeCook <zachdecook@librem.one> | 2022-01-21 17:22:25 -0500 |
|---|---|---|
| committer | Zach DeCook <zachdecook@librem.one> | 2022-01-21 17:22:25 -0500 |
| commit | 6e16e55851b472513b3869e8af757c7e4fbc131f (patch) | |
| tree | 237a404fbddb9a3fe6539a336b9c563f254466e7 /keyboard.c | |
| parent | 707cf18d0ce882504c19a534e236c050f745ca81 (diff) | |
| download | suggpicker-6e16e55851b472513b3869e8af757c7e4fbc131f.tar.gz | |
layout: Rename to suggs
Diffstat (limited to 'keyboard.c')
| -rw-r--r-- | keyboard.c | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/keyboard.c b/keyboard.c index 00a568b..540f6c9 100644 --- a/keyboard.c +++ b/keyboard.c @@ -12,33 +12,30 @@ exit(1) void -kbd_init(struct kbd *kb, struct layout *layouts) { +kbd_init(struct kbd *kb) { fprintf(stderr, "Initializing keyboard\n"); - kb->layouts = layouts; - - kb->layer_index = 0; - - enum layout_id layer; - layer = kb->layers[kb->layer_index]; - kb->layout = &kb->layouts[layer]; + kb->suggs[0].label = "Hello"; + kb->suggs[1].label = "World"; + kb->suggs[2].label = "World"; + kb->suggs[3].label = NULL; } void -kbd_init_layout(struct layout *l, uint32_t width, uint32_t height) { +kbd_init_suggs(struct key *suggs, uint32_t width, uint32_t height) { uint32_t x = 0, y = 0; uint8_t rows = 1; - l->keyheight = height / rows; + uint32_t keyheight = height / rows; - struct key *k = l->keys; + struct key *k = suggs; double rowlength = kbd_get_row_length(k); while (k->label != NULL) { k->x = x; k->y = y; k->w = width / rowlength; x += k->w; - k->h = l->keyheight; + k->h = keyheight; k++; } } @@ -55,8 +52,7 @@ kbd_get_row_length(struct key *k) { struct key * kbd_get_key(struct kbd *kb, uint32_t x, uint32_t y) { - struct layout *l = kb->layout; - struct key *k = l->keys; + struct key *k = kb->suggs; if (kb->debug) fprintf(stderr, "get key: +%d+%d\n", x, y); while (k->label != NULL) { @@ -95,18 +91,12 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) { if (k->label) { kb->last_press = k; kbd_draw_key(kb, k, Press); - kbd_print_key_stdout(kb, k); + printf("%s", k->label); + fflush(stdout); } } void -kbd_print_key_stdout(struct kbd *kb, struct key *k) { - /* we generally print what is on the key LABEL and only support the normal */ - printf("%s", k->label); - fflush(stdout); -} - -void kbd_draw_key(struct kbd *kb, struct key *k, enum key_draw_type type) { struct drwsurf *d = kb->surf; const char *label = k->label; @@ -131,7 +121,7 @@ kbd_draw_key(struct kbd *kb, struct key *k, enum key_draw_type type) { void kbd_draw_layout(struct kbd *kb) { struct drwsurf *d = kb->surf; - struct key *next_key = kb->layout->keys; + struct key *next_key = kb->suggs; if (kb->debug) fprintf(stderr, "Draw layout"); @@ -144,13 +134,13 @@ kbd_draw_layout(struct kbd *kb) { } void -kbd_resize(struct kbd *kb, struct layout *layouts) { +kbd_resize(struct kbd *kb) { struct drwsurf *d = kb->surf; fprintf(stderr, "Resize %dx%d %d\n", kb->w, kb->h, kb->s); drwsurf_resize(d, kb->w, kb->h, kb->s); - kbd_init_layout(&layouts[0], kb->w, kb->h); + kbd_init_suggs(kb->suggs, kb->w, kb->h); kbd_draw_layout(kb); } |
