keyboard: Pass struct xkb_rule_names to keyboard_init
parent
482ebaf168
commit
d0aa51aa6e
|
@ -39,7 +39,7 @@ struct keyboard {
|
|||
struct intset key_state;
|
||||
};
|
||||
|
||||
int keyboard_init(struct keyboard* self, const char* layout, const char* variant);
|
||||
int keyboard_init(struct keyboard* self, const struct xkb_rule_names* rule_names);
|
||||
void keyboard_destroy(struct keyboard* self);
|
||||
void keyboard_feed(struct keyboard* self, xkb_keysym_t symbol, bool is_pressed);
|
||||
void keyboard_feed_code(struct keyboard* self, xkb_keycode_t code,
|
||||
|
|
|
@ -153,7 +153,7 @@ void keyboard_dump_lookup_table(const struct keyboard* self)
|
|||
keyboard__dump_entry(self, &self->lookup_table[i]);
|
||||
}
|
||||
|
||||
int keyboard_init(struct keyboard* self, const char* layout, const char* variant)
|
||||
int keyboard_init(struct keyboard* self, const struct xkb_rule_names* rule_names)
|
||||
{
|
||||
self->context = xkb_context_new(XKB_CONTEXT_NO_FLAGS);
|
||||
if (!self->context)
|
||||
|
@ -162,13 +162,7 @@ int keyboard_init(struct keyboard* self, const char* layout, const char* variant
|
|||
if (intset_init(&self->key_state, 0) < 0)
|
||||
goto key_state_failure;
|
||||
|
||||
struct xkb_rule_names rule_names = {
|
||||
.layout = layout,
|
||||
.model = "pc105",
|
||||
.variant = variant,
|
||||
};
|
||||
|
||||
self->keymap = xkb_keymap_new_from_names(self->context, &rule_names, 0);
|
||||
self->keymap = xkb_keymap_new_from_names(self->context, rule_names, 0);
|
||||
if (!self->keymap)
|
||||
goto keymap_failure;
|
||||
|
||||
|
|
|
@ -945,7 +945,13 @@ int main(int argc, char* argv[])
|
|||
zwp_virtual_keyboard_manager_v1_create_virtual_keyboard(
|
||||
self.keyboard_manager, self.selected_seat->wl_seat);
|
||||
|
||||
keyboard_init(&self.keyboard_backend, self.kb_layout, self.kb_variant);
|
||||
struct xkb_rule_names rule_names = {
|
||||
.layout = self.kb_layout,
|
||||
.model = "pc105",
|
||||
.variant = self.kb_variant,
|
||||
};
|
||||
|
||||
keyboard_init(&self.keyboard_backend, &rule_names);
|
||||
|
||||
self.pointer_backend.vnc = self.nvnc;
|
||||
self.pointer_backend.output = self.selected_output;
|
||||
|
|
Loading…
Reference in New Issue