def build_and_show_keyboard(self): if not self._group_stack: self._keyboard = Caribou.KeyboardModel( keyboard_type=settings.get_osk_type()) self._group_stack = Gtk.Stack(visible=True) self._groups = {} self._add_keys() self._group_stack.show_all() self.base_stack.add_named(self._group_stack, "enabled") self.base_stack.set_visible_child_name("enabled")
def set_keyboard_model(self, keyboard_type): self.keyboard_model = Caribou.KeyboardModel(keyboard_type=keyboard_type) self.scanner.set_keyboard(self.keyboard_model) self.keyboard_model.connect("notify::active-group", self._on_group_changed) self.keyboard_model.connect("key-clicked", self._on_key_clicked) self.layers = {} for gname in self.keyboard_model.get_groups(): group = self.keyboard_model.get_group(gname) self.layers[gname] = {} group.connect("notify::active-level", self._on_level_changed) for lname in group.get_levels(): level = group.get_level(lname) layout = AntlerLayout(level) layout.show() self.layers[gname][lname] = self.append_page(layout, None) self._set_to_active_layer()