diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-04-05 23:37:33 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-04-06 00:14:13 +0200 |
commit | 2729cb406d9f3e9eb22cc660f887138134edb3a8 (patch) | |
tree | dacd0b6cd5cb8c4d0eaaa34300fb5a696b8ddf7f | |
parent | f4783d77ed8a24633611693b091102b226004971 (diff) | |
download | guix-2729cb406d9f3e9eb22cc660f887138134edb3a8.tar guix-2729cb406d9f3e9eb22cc660f887138134edb3a8.tar.gz |
system: Allow for comma-separated keyboard layouts.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
* gnu/bootloader/grub.scm (keyboard-layout-file): Replace commas with
hyphens in the first argument to 'computed-file'.
* gnu/system/keyboard.scm (keyboard-layout->console-keymap): Likewise.
* doc/guix.texi (Keyboard Layout): Add example.
-rw-r--r-- | doc/guix.texi | 3 | ||||
-rw-r--r-- | gnu/bootloader/grub.scm | 6 | ||||
-rw-r--r-- | gnu/system/keyboard.scm | 7 |
3 files changed, 13 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index bc5602474e..67cedaec1b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11916,6 +11916,9 @@ about. Here are a few example: ;; The Catalan layout. (keyboard-layout "es" "cat") +;; Arabic layout with "Alt-Shift" to switch to US layout. +(keyboard-layout "ar,us" #:options '("grp:alt_shift_toggle")) + ;; The Latin American Spanish layout. In addition, the ;; "Caps Lock" key is used as an additional "Ctrl" key, ;; and the "Menu" key is used as a "Compose" key to enter diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 28e6cb1f5f..190b717163 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -240,7 +240,11 @@ the 'share/X11/xkb/symbols/' directory of 'xkeyboard-config'." "-i" #+(keyboard-layout->console-keymap layout) "-o" #$output)))) - (computed-file (string-append "grub-keymap." (keyboard-layout-name layout)) + (computed-file (string-append "grub-keymap." + (string-map (match-lambda + (#\, #\-) + (chr chr)) + (keyboard-layout-name layout))) builder)) (define (grub-setup-io config) diff --git a/gnu/system/keyboard.scm b/gnu/system/keyboard.scm index cd3ab37b27..5bd13a44be 100644 --- a/gnu/system/keyboard.scm +++ b/gnu/system/keyboard.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,5 +94,8 @@ Layout information is taken from the XKEYBOARD-CONFIG package." #$(keyboard-layout-name layout)))))) (computed-file (string-append "console-keymap." - (keyboard-layout-name layout)) + (string-map (match-lambda + (#\, #\-) + (chr chr)) + (keyboard-layout-name layout))) build)) |