On Sun, Dec 03, 2023 at 08:22:04PM +0400, norayr chilingarian wrote:
> ---
>  svkbd.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/svkbd.c b/svkbd.c
> index e4dbd15..cce2463 100644
> --- a/svkbd.c
> +++ b/svkbd.c
> @@ -481,9 +481,18 @@ press(Key *k, KeySym buttonmod)
>  int
>  tmp_remap(KeySym keysym)
>  {
> -     XChangeKeyboardMapping(dpy, tmp_keycode, 1, &keysym, 1);
> +     /* map lower and upper case of keysym to the temporary keycode */
> +     KeySym syms[2];
> +     XConvertCase(keysym, &syms[0], &syms[1]);
> +
> +     /* if keysym is capital letter then swap upper and lower case */
> +     if (keysym == syms[1])
> +             syms[1] = syms[0], syms[0] = keysym;
> +
> +     XChangeKeyboardMapping(dpy, tmp_keycode, syms[0] == syms[1] ? 1 : 2, 
> syms, 1);
>       XSync(dpy, False);
>  
> +     printdbg("Temorary map keysym %ld (%ld, %ld) to keycode %d\n", keysym, 
> syms[0], syms[1], tmp_keycode);
>       return tmp_keycode;
>  }
>  
> -- 
> 2.41.0
> 
> 

Thanks for the patch,

I'm not a svkbd user right now and also not Armenian.

Can anyone test this and report if it makes sense?

Thanks,

-- 
Kind regards,
Hiltjo

Reply via email to