Hash :
a0a41332
Author :
Date :
2016-02-27T19:06:14
state: allow different modes for calculating consumed modifiers The current functions dealing with consumed modifiers use the traditional XKB definition of consumed modifiers (see description in the added documentation). However, for several users of the library (e.g. GTK) this definition is unsuitable or too eager. This is exacerbated by some less-than-ideal xkeyboard-config type definitions (CTRL+ALT seems to cause most grief...). So, because we - want to enable alternative interpretations, but - don't want to expose too much internal details, and - want to keep things simple for all library users, we add a high-level "mode" parameter which selects the desired interpretation. New ones can be added as long as they make some sense. All of the old consumed-modifiers functions keep using the traditional ("XKB") mode. I mark xkb_state_mod_mask_remove_consumed() and as deprecated without adding a *2 variant because I don't it is very useful (or used) in practice. Alternative modes are added in subsequent commits (this commit only adds a mode for the existing behavior). https://github.com/xkbcommon/libxkbcommon/issues/17 Signed-off-by: Ran Benita <ran234@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
V_0.5.0 {
global:
xkb_keysym_get_name;
xkb_keysym_from_name;
xkb_keysym_to_utf8;
xkb_keysym_to_utf32;
xkb_context_new;
xkb_context_ref;
xkb_context_unref;
xkb_context_set_user_data;
xkb_context_get_user_data;
xkb_context_include_path_append;
xkb_context_include_path_append_default;
xkb_context_include_path_reset_defaults;
xkb_context_include_path_clear;
xkb_context_num_include_paths;
xkb_context_include_path_get;
xkb_context_set_log_level;
xkb_context_get_log_level;
xkb_context_set_log_verbosity;
xkb_context_get_log_verbosity;
xkb_context_set_log_fn;
xkb_keymap_new_from_names;
xkb_keymap_new_from_file;
xkb_keymap_new_from_string;
xkb_keymap_new_from_buffer;
xkb_keymap_ref;
xkb_keymap_unref;
xkb_keymap_get_as_string;
xkb_keymap_min_keycode;
xkb_keymap_max_keycode;
xkb_keymap_key_for_each;
xkb_keymap_num_mods;
xkb_keymap_mod_get_name;
xkb_keymap_mod_get_index;
xkb_keymap_num_layouts;
xkb_keymap_layout_get_name;
xkb_keymap_layout_get_index;
xkb_keymap_num_leds;
xkb_keymap_led_get_name;
xkb_keymap_led_get_index;
xkb_keymap_num_layouts_for_key;
xkb_keymap_num_levels_for_key;
xkb_keymap_key_get_syms_by_level;
xkb_keymap_key_repeats;
xkb_state_new;
xkb_state_ref;
xkb_state_unref;
xkb_state_get_keymap;
xkb_state_update_key;
xkb_state_update_mask;
xkb_state_key_get_syms;
xkb_state_key_get_utf8;
xkb_state_key_get_utf32;
xkb_state_key_get_one_sym;
xkb_state_key_get_layout;
xkb_state_key_get_level;
xkb_state_serialize_mods;
xkb_state_serialize_layout;
xkb_state_mod_name_is_active;
xkb_state_mod_names_are_active;
xkb_state_mod_index_is_active;
xkb_state_mod_indices_are_active;
xkb_state_mod_index_is_consumed;
xkb_state_mod_mask_remove_consumed;
xkb_state_key_get_consumed_mods;
xkb_state_layout_name_is_active;
xkb_state_layout_index_is_active;
xkb_state_led_name_is_active;
xkb_state_led_index_is_active;
xkb_compose_table_new_from_locale;
xkb_compose_table_new_from_file;
xkb_compose_table_new_from_buffer;
xkb_compose_table_ref;
xkb_compose_table_unref;
xkb_compose_state_new;
xkb_compose_state_ref;
xkb_compose_state_unref;
xkb_compose_state_get_compose_table;
xkb_compose_state_feed;
xkb_compose_state_reset;
xkb_compose_state_get_status;
xkb_compose_state_get_utf8;
xkb_compose_state_get_one_sym;
local:
*;
};
V_0.6.0 {
global:
xkb_keymap_key_get_name;
xkb_keymap_key_by_name;
} V_0.5.0;
V_0.7.0 {
global:
xkb_state_key_get_consumed_mods2;
xkb_state_mod_index_is_consumed2;
} V_0.6.0;