vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Jun 19 21:06:21 2019 +0300| [9b2a2434fd341e6c58d4169b47ead5332ff7bdc9] | committer: Rémi Denis-Courmont
xkb: report lower case key presses ...as is VLC core convention. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9b2a2434fd341e6c58d4169b47ead5332ff7bdc9 --- modules/video_output/xcb/xkb.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/video_output/xcb/xkb.c b/modules/video_output/xcb/xkb.c index 35384ee4c7..70a2e598a1 100644 --- a/modules/video_output/xcb/xkb.c +++ b/modules/video_output/xcb/xkb.c @@ -26,6 +26,7 @@ #include <stdlib.h> #include <stdint.h> +#include <wctype.h> #include <X11/keysym.h> #include <X11/XF86keysym.h> #include <vlc_common.h> @@ -112,11 +113,15 @@ uint_fast32_t vlc_xkb_get_one(struct xkb_state *state, uint_fast32_t keycode) xkb_keysym_t keysym = xkb_state_key_get_one_sym(state, keycode); uint_fast32_t vk = vlc_xkb_convert_keysym(keysym); - if (vk != KEY_UNSET) + if (vk != KEY_UNSET) { + if (vk < 0x110000) + vk = towlower(vk); /* Lower case for Unicode code points */ + for (size_t i = 0; i < ARRAY_SIZE(modifiers); i++) if (xkb_state_mod_name_is_active(state, modifiers[i].name, XKB_STATE_MODS_EFFECTIVE) > 0) vk |= modifiers[i].mask; + } return vk; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
