suggestion picker: a persistent layer to complement virtual keyboards like wvkbd
| -rw-r--r-- | config.def.h | 2 | ||||
| -rw-r--r-- | keyboard.c | 22 | ||||
| -rw-r--r-- | keyboard.h | 2 | ||||
| -rw-r--r-- | main.c | 2 |
4 files changed, 5 insertions, 23 deletions
diff --git a/config.def.h b/config.def.h index 613bd52..90279d6 100644 --- a/config.def.h +++ b/config.def.h @@ -23,13 +23,11 @@ struct clr_scheme scheme1 = { /* layers is an ordered list of layouts, used to cycle through */ static enum layout_id layers[] = { Full, // First layout is the default layout on startup - NumLayouts // signals the last item, may not be omitted }; /* layers is an ordered list of layouts, used to cycle through */ static enum layout_id landscape_layers[] = { Full, // First layout is the default layout on startup - NumLayouts // signals the last item, may not be omitted }; #endif // config_def_h_INCLUDED @@ -14,25 +14,12 @@ void kbd_init(struct kbd *kb, struct layout *layouts) { - int i; - fprintf(stderr, "Initializing keyboard\n"); kb->layouts = layouts; - for (i = 0; i < NumLayouts - 1; i++) - ; - fprintf(stderr, "Found %d layouts\n", i); - kb->layer_index = 0; - i = 0; - enum layout_id lid = kb->layers[0]; - while (lid != NumLayouts) { - lid = kb->layers[++i]; - } - fprintf(stderr, "Found %d layers\n", i); - enum layout_id layer; if (kb->landscape) { layer = kb->landscape_layers[kb->layer_index]; @@ -185,16 +172,13 @@ kbd_draw_layout(struct kbd *kb) { } void -kbd_resize(struct kbd *kb, struct layout *layouts, uint8_t layoutcount) { +kbd_resize(struct kbd *kb, struct layout *layouts) { struct drwsurf *d = kb->surf; - fprintf(stderr, "Resize %dx%d %d, %d layouts\n", kb->w, kb->h, kb->s, - layoutcount); + fprintf(stderr, "Resize %dx%d %d\n", kb->w, kb->h, kb->s); drwsurf_resize(d, kb->w, kb->h, kb->s); - for (int i = 0; i < layoutcount; i++) { - kbd_init_layout(&layouts[i], kb->w, kb->h); - } + kbd_init_layout(&layouts[0], kb->w, kb->h); kbd_draw_layout(kb); } @@ -123,7 +123,7 @@ void kbd_press_key(struct kbd *kb, struct key *k, uint32_t time); void kbd_print_key_stdout(struct kbd *kb, struct key *k); void kbd_draw_key(struct kbd *kb, struct key *k, enum key_draw_type); void kbd_draw_layout(struct kbd *kb); -void kbd_resize(struct kbd *kb, struct layout *layouts, uint8_t layoutcount); +void kbd_resize(struct kbd *kb, struct layout *layouts); double kbd_get_row_length(struct key *k); #ifndef LAYOUT @@ -322,7 +322,7 @@ layer_surface_configure(void *data, struct zwlr_layer_surface_v1 *surface, uint32_t serial, uint32_t w, uint32_t h) { keyboard.w = w + KBD_PIXEL_OVERSCAN_WIDTH; keyboard.h = h; - kbd_resize(&keyboard, layouts, NumLayouts); + kbd_resize(&keyboard, layouts); zwlr_layer_surface_v1_ack_configure(surface, serial); } |