suggestion picker: a persistent layer to complement virtual keyboards like wvkbd
-rw-r--r--config.def.h2
-rw-r--r--keyboard.c22
-rw-r--r--keyboard.h2
-rw-r--r--main.c2
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
diff --git a/keyboard.c b/keyboard.c
index 9e97d20..85f412f 100644
--- a/keyboard.c
+++ b/keyboard.c
@@ -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);
}
diff --git a/keyboard.h b/keyboard.h
index ca6d43d..82a3763 100644
--- a/keyboard.h
+++ b/keyboard.h
@@ -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
diff --git a/main.c b/main.c
index 13f8a38..17e8885 100644
--- a/main.c
+++ b/main.c
@@ -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);
}