diff --git a/clients/keyboard.c b/clients/keyboard.c index 135f89a0b..1f203315c 100644 --- a/clients/keyboard.c +++ b/clients/keyboard.c @@ -76,7 +76,8 @@ enum key_type { keytype_arrow_left, keytype_arrow_right, keytype_arrow_down, - keytype_style + keytype_style, + keytype_none, }; struct key { @@ -291,6 +292,9 @@ label_from_key(struct keyboard *keyboard, if (key->key_type == keytype_style) return style_labels[keyboard->keyboard->preedit_style]; + if (key->key_type == keytype_none) + return ""; + switch(keyboard->state) { case KEYBOARD_STATE_DEFAULT: return key->label; @@ -313,6 +317,9 @@ draw_key(struct keyboard *keyboard, const char *label; cairo_text_extents_t extents; + if (key->key_type == keytype_none) + return; + cairo_save(cr); cairo_rectangle(cr, col * key_width, row * key_height, @@ -660,6 +667,8 @@ keyboard_handle_key(struct keyboard *keyboard, uint32_t time, const struct key * keyboard->keyboard->preedit_style = (keyboard->keyboard->preedit_style + 1) % 8; /* TODO */ virtual_keyboard_send_preedit(keyboard->keyboard, -1); break; + case keytype_none: + break; } }