GNU bug report logs - #40273
installer: No way to input Latin characters with non-Latin keyboard layouts

Previous Next

Package: guix;

Reported by: "pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de>

Date: Sat, 28 Mar 2020 13:43:01 UTC

Severity: important

Done: Mathieu Othacehe <m.othacehe <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #56 received at 40273 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: "pelzflorian \(Florian Pelz\)" <pelzflorian <at> pelzflorian.de>
Cc: 40273 <at> debbugs.gnu.org, Mathieu Othacehe <m.othacehe <at> gmail.com>
Subject: Re: bug#40273: installer: No way to input Latin characters with
 non-Latin keyboard layouts
Date: Tue, 31 Mar 2020 17:35:41 +0200
Hi,

"pelzflorian (Florian Pelz)" <pelzflorian <at> pelzflorian.de> skribis:

> On Mon, Mar 30, 2020 at 01:35:29PM +0200, Mathieu Othacehe wrote:
>> In the installer, the keyboard layout is handled by KMSCON. It means
>> that running setxkbmap or loadkeys commands won't help. As KMSCON only
>> supports static keyboard layout setting at start time, I had to patch it
>> dirty (see kmscon-runtime-keymap-switch.patch). With this patch, it is
>> possible to write keyboard model, layout and variant to the file pointed
>> by KEYMAP_UPDATE environment variable, and have the keyboard layout
>> updated (see kmscon-update-keymap).
>> 
>> Mathieu
>
> Thank you for the information.  The attached patch to Guix enables
> Alt+Shift toggling of the layout (it is too hacky, and it is always
> QWERTY layout!).  But it is possible.

I think we can have both Alt-Shift and what Mathieu implemented, no?

However, note that the installed system won’t have Alt-Shift support,
and perhaps that is a bigger concern.

OTOH, we’re just using the standard XKB layouts, so if they don’t
provide Alt-Shift, well, perhaps that’s because this is the way it’s got
to be?

> ++        int end_of_layout;
> ++        for (end_of_layout=0; layout[end_of_layout]; end_of_layout++);
> ++        memcpy (layout+end_of_layout, (void *)",us", 4);

I think that could be: layout = strcat (layout, ",us");
Provided ‘layout’ points to a large-enough array.

> ++	uxkb_desc_init(dev->input, model, layout, variant, "grp:alt_shift_toggle", NULL);

Is “grp:alt_shift_toggle” guaranteed to be available, no what what
‘layout’ is?

Also, that means Alt-Shift is enabled for all layouts, not just the
non-Latin layouts, right?

Ludo’.




This bug report was last modified 5 years and 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.