suggestion picker: a persistent layer to complement virtual keyboards like wvkbd
Diffstat (limited to 'keyboard.c')
-rw-r--r--keyboard.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/keyboard.c b/keyboard.c
index 5a6471d..41b345d 100644
--- a/keyboard.c
+++ b/keyboard.c
@@ -12,11 +12,6 @@
fprintf(stderr, __VA_ARGS__); \
exit(1)
-#ifndef KEYMAP
-#error "make sure to define KEYMAP"
-#endif
-#include KEYMAP
-
void
kbd_switch_layout(struct kbd *kb, struct layout *l) {
kb->prevlayout = kb->layout;
@@ -26,7 +21,6 @@ kbd_switch_layout(struct kbd *kb, struct layout *l) {
if ((!kb->prevlayout) ||
(strcmp(kb->prevlayout->keymap_name, kb->layout->keymap_name) != 0)) {
fprintf(stderr, "Switching to keymap %s\n", kb->layout->keymap_name);
- create_and_upload_keymap(kb, kb->layout->keymap_name, 0, 0);
}
kbd_draw_layout(kb);
}
@@ -107,9 +101,6 @@ kbd_init(struct kbd *kb, struct layout *layouts, char *layer_names_list) {
kb->layout = &kb->layouts[layer];
kb->prevlayout = kb->layout;
-
- /* upload keymap */
- create_and_upload_keymap(kb, kb->layout->keymap_name, 0, 0);
}
void
@@ -356,33 +347,3 @@ draw_over_inset(struct drwsurf *ds, uint32_t x, uint32_t y, uint32_t width,
drw_over_rectangle(ds, color, x + border, y + border, width - border,
height - border);
}
-
-void
-create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t comp_unichr,
- uint32_t comp_shift_unichr) {
- int keymap_index = -1;
- for (int i = 0; i < NUMKEYMAPS; i++) {
- if (!strcmp(keymap_names[i], name)) {
- keymap_index = i;
- }
- }
- if (keymap_index == -1) {
- fprintf(stderr, "No such keymap defined: %s\n", name);
- exit(9);
- }
- const char *keymap_template = keymaps[keymap_index];
- const size_t keymap_size = strlen(keymap_template) + 64;
- char *keymap_str = malloc(keymap_size);
- sprintf(keymap_str, keymap_template, comp_unichr, comp_shift_unichr);
- int keymap_fd = os_create_anonymous_file(keymap_size);
- if (keymap_fd < 0) {
- die("could not create keymap fd\n");
- }
- void *ptr =
- mmap(NULL, keymap_size, PROT_READ | PROT_WRITE, MAP_SHARED, keymap_fd, 0);
- if (ptr == (void *)-1) {
- die("could not map keymap data\n");
- }
- strcpy(ptr, keymap_str);
- free((void *)keymap_str);
-}