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

From: Bengt Richter <[email-masked]>
Date: Wed, 1 Apr 2020 22:33:18 +0200

Hi Florian,

On +2020-03-31 18:55:59 +0200, pelzflorian (Florian Pelz) wrote:
> On Tue, Mar 31, 2020 at 05:35:41PM +0200, Ludovic Courtès wrote:
> > I think we can have both Alt-Shift and what Mathieu implemented, no?
> > 
> 
> Yes, both would be best, what Mathieu implemented is more
> discoverable.
> 
> > However, note that the installed system won’t have Alt-Shift support,
> > and perhaps that is a bigger concern.
> 
> Yes.
> 
> guix build -S console-setup
> sudo mkdir -p /usr/share/X11
> cd /usr/share/X11
> sudo ln -s /gnu/store/fabcbhjh4g5fmm39fmkjjhiplqwrg0n8-console-setup-1.194-checkout/Keyboard/ckb xkb
> ckbcomp ar,fr -variant azerty, -option grp:alt_shift_toggle > ~/test
> sudo loadkeys ~/test
> 
> works, but I have no idea how to turn that into a keyboard-layout.
> I tried setting in /etc/config.scm
> 
>  (keyboard-layout
>   (keyboard-layout "ar,fr" "azerty" #:options '("grp:alt_shift_toggle")))
> 
> but it threw an error.
> 
> > 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?
> 
> I did not know back then, but it does work.  In dconf-editor, I can
> set org.gnome.desktop.input-sources to ['grp:alt_shift_toggle'].  It
> switches between all configured layouts in GNOME.
> 
> > 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?
> 
> Yes, with the patch I can toggle any layout to US layout and back.
>

Have you looked at man vconsole.conf
    http://man7.org/linux/man-pages/man5/vconsole.conf.5.html

Could this be helpful?
    https://unix.stackexchange.com/q/57085

Also this has more extensive info on creating/modifying keymaps and
getting systemd to get them going:
    https://wiki.archlinux.org/index.php/Linux_console/Keyboard_configuration

I don't know if this is useful, but seems like you can affect things
early in the boot sequence (from the man page):
--8<---------------cut here---------------start------------->8---
       Note that the kernel command line options vconsole.keymap=,
       vconsole.keymap_toggle=, vconsole.font=, vconsole.font_map=,
       console.font_unimap= may be used to override the console settings at
       boot.
--8<---------------cut here---------------end--------------->8---

> I believe we would need a map from each layout to whether it should be
> QWERTY, AZERTY, QWERTZ …  Or we would just use QWERTY.
> 
> What do you think is the right path forward?

Do the right thing :)

> Thank you.
> Regards,
> Florian

-- 
Regards,
Bengt Richter