mirror of
https://gitlab.freedesktop.org/wayland/weston.git
synced 2026-05-07 17:48:06 +02:00
clients: keyboard: Implement keytype_none
Allow empty space in the keyboard matrix by adding keytype_none. This is effectively a NOP. Nothing happens when this key is pressed and its not even drawn. Signed-off-by: Torben Hohn <torben.hohn@bruker.com>
This commit is contained in:
parent
1ddc493a52
commit
f30eb47b04
1 changed files with 10 additions and 1 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue