[vlc-devel] [PATCH] xkb: fix capitalization
Thomas Guillem
thomas at gllm.fr
Tue Jun 18 11:26:40 CEST 2019
On Mon, Dec 3, 2018, at 12:00, Rémi Denis-Courmont wrote:
> Your humble opinion is not the question here. I don't think the design of VLC core has any bearing on X11 keyboard maps.
VLC shortcut with "Shift+key" don't work without this patch.
>
> Le 3 décembre 2018 12:24:51 GMT+02:00, Victorien Le Couviour <victorien.lecouviour.tuffet at gmail.com> a écrit :
>> Hi,
>>
>> Since the core expects it to be this way and is unaware of the layout, imho yes.
>>
>> On Thu, Nov 29, 2018 at 2:54 PM Rémi Denis-Courmont <remi at remlab.net> wrote:
>>> Hi,
>>>
>>> That looks correct on simple Latin-only keyboard layouts, but does that assumption on shift and case apply to all layouts?
VLC shortcuts use latin key anyway ("Shift+k" for example), so I don't get how it affect non latin keyboards.
>>>
>>> Le 28 novembre 2018 16:12:23 GMT+02:00, Victorien Le Couviour--Tuffet <victorien.lecouviour.tuffet at gmail.com> a écrit :
>>>> The core expects keycodes to be all lowercase. If the shift key is
>>>> pressed, then the keycode will contain the SHIFT modifier.
>>>> xkb_state_key_get_one_sym performs capitalization, because of this all
>>>> actions having SHIFT in their mapped keycode were not triggered. modules/video_output/xcb/xkb.c | 8 ++++----
>>>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/modules/video_output/xcb/xkb.c b/modules/video_output/xcb/xkb.c
>>>> index 35384ee4c7..813ee8e79e 100644
>>>> --- a/modules/video_output/xcb/xkb.c
>>>> +++ b/modules/video_output/xcb/xkb.c
>>>> @@ -32,6 +32,9 @@
>>>> #include <vlc_actions.h>
>>>> #include "video_output/xcb/vlc_xkb.h"
>>>>
>>>> +#ifdef HAVE_XKBCOMMON
>>>> +# include <xkbcommon/xkbcommon.h>
>>>> +
>>>> static int keysymcmp (const void *pa, const void *pb)
>>>> {
>>>> int a = *(const uint32_t *)pa;
>>>> @@ -54,7 +57,7 @@ static uint_fast32_t vlc_xkb_convert_keysym(uint_fast32_t sym)
>>>>
>>>> /* X11 Latin-1 range */
>>>> if (sym <= 0xff)
>>>> - return sym;
>>>> + return xkb_keysym_to_lower(sym);
>>>> /* X11 Unicode range */
>>>> if (sym >= 0x1000100 && sym <= 0x110ffff)
>>>> return sym - 0x1000000;
>>>> @@ -90,9 +93,6 @@ static uint_fast32_t vlc_xkb_convert_keysym(uint_fast32_t sym)
>>>> return KEY_UNSET;
>>>> }
>>>>
>>>> -#ifdef HAVE_XKBCOMMON
>>>> -# include <xkbcommon/xkbcommon.h>
>>>> -
>>>> struct modifiers
>>>> {
>>>> char name[8];
>>>
>>> --
>>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>
> --
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190618/1c870317/attachment.html>
More information about the vlc-devel
mailing list