<html><head></head><body>Hi,<br><br>That looks correct on simple Latin-only keyboard layouts, but does that assumption on shift and case apply to all layouts?<br><br><div class="gmail_quote">Le 28 novembre 2018 16:12:23 GMT+02:00, Victorien Le Couviour--Tuffet <victorien.lecouviour.tuffet@gmail.com> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">The core expects keycodes to be all lowercase. If the shift key is<br>pressed, then the keycode will contain the SHIFT modifier.<br>xkb_state_key_get_one_sym performs capitalization, because of this all<br>actions having SHIFT in their mapped keycode were not triggered.<hr> modules/video_output/xcb/xkb.c | 8 ++++----<br> 1 file changed, 4 insertions(+), 4 deletions(-)<br><br>diff --git a/modules/video_output/xcb/xkb.c b/modules/video_output/xcb/xkb.c<br>index 35384ee4c7..813ee8e79e 100644<br>--- a/modules/video_output/xcb/xkb.c<br>+++ b/modules/video_output/xcb/xkb.c<br>@@ -32,6 +32,9 @@<br> #include <vlc_actions.h><br> #include "video_output/xcb/vlc_xkb.h"<br> <br>+#ifdef HAVE_XKBCOMMON<br>+# include <xkbcommon/xkbcommon.h><br>+<br> static int keysymcmp (const void *pa, const void *pb)<br> {<br> int a = *(const uint32_t *)pa;<br>@@ -54,7 +57,7 @@ static uint_fast32_t vlc_xkb_convert_keysym(uint_fast32_t sym)<br> <br> /* X11 Latin-1 range */<br> if (sym <= 0xff)<br>- return sym;<br>+ return xkb_keysym_to_lower(sym);<br> /* X11 Unicode range */<br> if (sym >= 0x1000100 && sym <= 0x110ffff)<br> return sym - 0x1000000;<br>@@ -90,9 +93,6 @@ static uint_fast32_t vlc_xkb_convert_keysym(uint_fast32_t sym)<br> return KEY_UNSET;<br> }<br> <br>-#ifdef HAVE_XKBCOMMON<br>-# include <xkbcommon/xkbcommon.h><br>-<br> struct modifiers<br> {<br> char name[8];</pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>