[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40493: installer: Provide a way to select multiple keyboard layouts
From: |
Ludovic Courtès |
Subject: |
bug#40493: installer: Provide a way to select multiple keyboard layouts |
Date: |
Tue, 07 Apr 2020 22:38:16 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Good evening comrades!
"pelzflorian (Florian Pelz)" <address@hidden> skribis:
> IMHO two things should be done:
>
> * Within the installer, a toggleable second keyboard layout should be
> available by default.
>
> Mathieu enabled changing the layout via the F1 help menu. This is
> good and more flexible and discoverable, but a key combination is
> more convenient and people appear to be used to Alt+Shift toggling.
Agreed!
> * In the config.scm created by the installer, the default
> keyboard-layout should include the second layout.
Yes.
> I attach a proposed solution for the first thing, though it does not
> yet update the toggle option correctly. If you think the
> approach is OK, then I will add more default alternative layouts to
> the maybe-add-second-layout procedure.
I think the approach is OK, even as-is. We can then improve it by
(hopefully) replacing the hard-coded list of non-Latin layouts (ar, jp,
etc.) with code that determines whether the main layout is Latin or not.
> From 0d3a1ecc214fe55d77f45f4b2e690a93978da9ec Mon Sep 17 00:00:00 2001
> From: Florian Pelz <address@hidden>
> Date: Tue, 7 Apr 2020 19:06:31 +0200
> Subject: [PATCH] installer: Allow Alt+Shift toggle from non-Latin keyboard
> layouts.
>
> See <https://bugs.gnu.org/40273>.
>
> * gnu/installer/newt/keymap.scm (run-keymap-page): Maybe add second layout.
> * gnu/installer/keymap.scm (kmscon-update-keymap): Pass on XKB options.
> * gnu/installer/records.scm (<installer>): Adjust code comments.
> * gnu/installer.scm (apply-keymap): Pass on XKB options.
> (installer-steps): Adjust code comments.
> * gnu/packages/patches/kmscon-runtime-keymap-switch.patch: Apply XKB options.
Overall LGTM! Minor suggestion below:
> (define* (run-keymap-page layouts #:key (context #f))
> "Run a page asking the user to select a keyboard layout and variant.
> LAYOUTS
> -is a list of supported X11-KEYMAP-LAYOUT. Return a list of two elements, the
> -names of the selected keyboard layout and variant."
> +is a list of supported X11-KEYMAP-LAYOUT. For non-Latin keyboard layouts, a
> +second layout and toggle options will be added automatically. Return a list
> +of three elements, the names of the selected keyboard layout, variant and
> +optionsxs."
^
You forgot to hold the “Control” key. :-)
> + (define (maybe-add-second-layout first-layout)
> + "Return for a chosen keyboard layout either the same layout or possibly
> +the layout plus a suitable second layout, and also variant and options."
To leave room for improvement, how about making it a top-level procedure
along these lines:
(define (switchable-latin-layout layout variant)
"If LAYOUT is a non-Latin layout, return a new combined layout,
a variant, and options that allow the user to switch between the
non-Latin and the Latin layout. Otherwise, return LAYOUT, VARIANT,
and #f."
(if (member layout '("ar" …))
…))
?
Eventually we can replace ‘member’ or ‘match’ with something more fancy,
assuming the xkeyboard-config databases contain the relevant info
(‘base.xml’ doesn’t say what’s Latin and what’s not apparently.)
> + (match first-layout
> + (("ar" "azerty") (list "ar,fr" "azerty," "grp:alt_shift_toggle"))
^
Remove comma?
Thank you!
Ludo’.
- bug#40493: installer: Provide a way to select multiple keyboard layouts, Mathieu Othacehe, 2020/04/07
- bug#40493: installer: Provide a way to select multiple keyboard layouts, pelzflorian (Florian Pelz), 2020/04/07
- bug#40493: installer: Provide a way to select multiple keyboard layouts,
Ludovic Courtès <=
- bug#40493: installer: Provide a way to select multiple keyboard layouts, pelzflorian (Florian Pelz), 2020/04/07
- bug#40493: installer: Provide a way to select multiple keyboard layouts, pelzflorian (Florian Pelz), 2020/04/08
- bug#40493: installer: Provide a way to select multiple keyboard layouts, Ludovic Courtès, 2020/04/08
- bug#40493: installer: Provide a way to select multiple keyboard layouts, pelzflorian (Florian Pelz), 2020/04/09
- bug#40493: installer: Provide a way to select multiple keyboard layouts, pelzflorian (Florian Pelz), 2020/04/09
- bug#40493: installer: Provide a way to select multiple keyboard layouts, Mathieu Othacehe, 2020/04/09
- bug#40493: installer: Provide a way to select multiple keyboard layouts, pelzflorian (Florian Pelz), 2020/04/09
- bug#40493: installer: Provide a way to select multiple keyboard layouts, Ludovic Courtès, 2020/04/09
- bug#40493: installer: Provide a way to select multiple keyboard layouts, Ludovic Courtès, 2020/04/09