|
wlmaker
|
#include "keyboard.h"#include <ctype.h>#include <ini.h>#include <libbase/libbase.h>#include <libbase/plist.h>#include <stdbool.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include <wayland-server-core.h>#include <wayland-server-protocol.h>#include <wlr/types/wlr_keyboard.h>#include <wlr/types/wlr_seat.h>#include <xkbcommon/xkbcommon.h>#include "toolkit/toolkit.h"
Classes | |
| struct | _wlmim_keyboard_t |
Functions | |
| static bspl_dict_t * | _wlmim_keyboard_populate_rules (bspl_dict_t *dict_ptr, struct xkb_rule_names *rules_ptr) |
| static int | _wlmim_keyboard_config_ini_handler (void *user_ptr, const char *section_ptr, const char *name_ptr, const char *value_ptr) |
| static void | handle_key (struct wl_listener *listener_ptr, void *data_ptr) |
| static void | handle_modifiers (struct wl_listener *listener_ptr, void *data_ptr) |
| wlmim_keyboard_t * | wlmim_keyboard_create (wlmim_t *input_manager_ptr, struct xkb_keymap *xkb_keymap_ptr, const struct wlmim_keyboard_options *options_ptr, struct wlr_keyboard *wlr_keyboard_ptr, struct wlr_seat *wlr_seat_ptr, wlmtk_element_t *root_element_ptr) |
| void | wlmim_keyboard_destroy (wlmim_keyboard_t *keyboard_ptr) |
| void | wlmim_keyboard_configure (wlmim_keyboard_t *keyboard_ptr, struct xkb_keymap *xkb_keymap_ptr, const struct wlmim_keyboard_options *options_ptr) |
| struct xkb_keymap * | wlmim_keyboard_xkb_from_config (bspl_dict_t *dict_ptr) |
| static void | _wlmim_keyboard_test_parse (bs_test_t *test_ptr) |
| static void | _wlmim_keyboard_test_rmlvo (bs_test_t *test_ptr) |
| static void | _wlmim_keyboard_test_file (bs_test_t *test_ptr) |
Variables | |
| const bspl_enum_desc_t | wlmim_keyboard_modifiers [] |
| static const bspl_desc_t | _wlmim_keyboard_repeat_options_desc [] |
| const bspl_desc_t | wlmim_keyboard_options_desc [] |
| static const bs_test_case_t | _wlmim_keyboard_test_cases [] |
| const bs_test_set_t | wlmim_keyboard_test_set |
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
static |
inih parser callback. Fills XKB config file values into the dict.
| user_ptr | Points to a bspl_dict_t. |
| section_ptr | |
| name_ptr | |
| value_ptr |
|
static |
Populates the XKB rules struct from the config dict.
| dict_ptr | |
| rules_ptr |
|
static |
Tests keyboard rules are loaded from XKB configuration file.
|
static |
Tests parsing the dict.
|
static |
Tests keyboard rules are loaded from a given RMLVO dict.
|
static |
Handles key signals, ie. key presses.
| listener_ptr | |
| data_ptr | Points to a wlr_keyboard_key_event. |
|
static |
Handles modifiers signals, ie. updates to the modifiers.
| listener_ptr | |
| data_ptr | Points to wlr_keyboard. |
| void wlmim_keyboard_configure | ( | wlmim_keyboard_t * | keyboard_ptr, |
| struct xkb_keymap * | xkb_keymap_ptr, | ||
| const struct wlmim_keyboard_options * | options_ptr | ||
| ) |
Configures the active xkb_keymap and repeat settings.
| keyboard_ptr | |
| xkb_keymap_ptr | |
| options_ptr |
| wlmim_keyboard_t * wlmim_keyboard_create | ( | wlmim_t * | input_manager_ptr, |
| struct xkb_keymap * | xkb_keymap_ptr, | ||
| const struct wlmim_keyboard_options * | options_ptr, | ||
| struct wlr_keyboard * | wlr_keyboard_ptr, | ||
| struct wlr_seat * | wlr_seat_ptr, | ||
| wlmtk_element_t * | root_element_ptr | ||
| ) |
Creates a handle for a registered keyboard.
| input_manager_ptr | |
| xkb_keymap_ptr | |
| options_ptr | |
| wlr_keyboard_ptr | |
| wlr_seat_ptr | |
| root_element_ptr |
| void wlmim_keyboard_destroy | ( | wlmim_keyboard_t * | keyboard_ptr | ) |
Destroys the keyboard handle.
| keyboard_ptr |
| struct xkb_keymap * wlmim_keyboard_xkb_from_config | ( | bspl_dict_t * | dict_ptr | ) |
Creates a struct xkb_keymap from the keyboard configuration dict.
| dict_ptr | Plist dict of the Keyboard configuration. If NULL, NULL is returned. |
struct xkb_keymap (to be released by calling xkb_keymap_unref()), or NULL on error.
|
static |
|
static |
Test cases for the keyboard.
| const bspl_enum_desc_t wlmim_keyboard_modifiers[] |
Keyboard modifiers, as enum to lookup.
| const bspl_desc_t wlmim_keyboard_options_desc[] |
BSPL descriptor for decoding the keyboard dict.
| const bs_test_set_t wlmim_keyboard_test_set |
Unit test set.