match_keybinding(struct server *server, struct keyinfo *keyinfo,
bool is_virtual)
{
- if (is_virtual) {
- goto process_syms;
- }
-
- /* First try keycodes */
- struct keybind *keybind = match_keybinding_for_sym(server,
- keyinfo->modifiers, XKB_KEY_NoSymbol, keyinfo->xkb_keycode);
- if (keybind) {
- wlr_log(WLR_DEBUG, "keycode matched");
- return keybind;
+ if (!is_virtual) {
+ /* First try keycodes */
+ struct keybind *keybind = match_keybinding_for_sym(server,
+ keyinfo->modifiers, XKB_KEY_NoSymbol, keyinfo->xkb_keycode);
+ if (keybind) {
+ wlr_log(WLR_DEBUG, "keycode matched");
+ return keybind;
+ }
}
-process_syms:
/* Then fall back to keysyms */
for (int i = 0; i < keyinfo->translated.nr_syms; i++) {
- keybind = match_keybinding_for_sym(server, keyinfo->modifiers,
- keyinfo->translated.syms[i], keyinfo->xkb_keycode);
+ struct keybind *keybind =
+ match_keybinding_for_sym(server, keyinfo->modifiers,
+ keyinfo->translated.syms[i], keyinfo->xkb_keycode);
if (keybind) {
wlr_log(WLR_DEBUG, "translated keysym matched");
return keybind;
/* And finally test for keysyms without modifier */
for (int i = 0; i < keyinfo->raw.nr_syms; i++) {
- keybind = match_keybinding_for_sym(server, keyinfo->modifiers,
- keyinfo->raw.syms[i], keyinfo->xkb_keycode);
+ struct keybind *keybind =
+ match_keybinding_for_sym(server, keyinfo->modifiers,
+ keyinfo->raw.syms[i], keyinfo->xkb_keycode);
if (keybind) {
wlr_log(WLR_DEBUG, "raw keysym matched");
return keybind;
struct ssd_hover_state *hover_state)
{
struct ssd_button *button = NULL;
- if (!node || !node->data) {
- goto disable_old_hover;
- }
- struct node_descriptor *desc = node->data;
- if (desc->type == LAB_NODE_DESC_SSD_BUTTON) {
- button = node_ssd_button_from_node(node);
- if (button == hover_state->button) {
- /* Cursor is still on the same button */
- return;
+ if (node && node->data) {
+ struct node_descriptor *desc = node->data;
+ if (desc->type == LAB_NODE_DESC_SSD_BUTTON) {
+ button = node_ssd_button_from_node(node);
+ if (button == hover_state->button) {
+ /* Cursor is still on the same button */
+ return;
+ }
}
}
-disable_old_hover:
+ /* Disable old hover */
if (hover_state->button) {
update_button_state(hover_state->button, LAB_BS_HOVERD, false);
hover_state->view = NULL;