Subject: bug#40493: installer: Provide a way to select multiple keyboard layouts

From: Ludovic Courtès <[email-masked]>
Date: Wed, 08 Apr 2020 15:22:34 +0200

Hi,

"pelzflorian (Florian Pelz)" <[email-masked]> skribis:

> The comma is needed, for example the Japanese Kana ("jp" "kana")
> layout breaks otherwise.  I believe the reason is that the "kana"
> variant gets applied to "us" layout.

I see.

> From 68fc18d2816e3997f38d0a3c69566d85b26c8719 Mon Sep 17 00:00:00 2001
> From: Florian Pelz <[email-masked]>
> Date: Wed, 8 Apr 2020 11:46:16 +0200
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> Subject: [PATCH] installer: Allow Alt+Shift toggle from non-Latin keyboard
>  layouts.
>
> Fixes <https://bugs.gnu.org/40493>.
>
> * gnu/installer/newt/keymap.scm (%non-latin-layouts): New variable.
> (toggleable-latin-layout): New procedure to compute combined layouts.
> (run-keymap-page): Use it.
> (keyboard-layout->configuration): Apply it in config.scm.
> * gnu/installer/newt/help.scm (run-help-page): Mention Alt+Shift.
> * gnu/installer/keymap.scm (kmscon-update-keymap): Pass on XKB options.
> * gnu/installer/record.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.

[...]

> +(define %non-latin-layouts
> +  ;; List of keyboard layouts marked as $nonlatin in xkeyboard-config.

Out of curiosity, where did you find that info?  Perhaps add the name of
the relevant file or XML tag here.

> +      (apply toggleable-latin-layout
> +             (list layout (or variant "")))))

Simply:

  (toggleable-latin-layout layout (or variant ""))

This allows the compiler to detect a wrong number of arguments.

Go for it, thank you!

Ludo’.