From 91c231a2223440081426929828a23c7baa0214fd Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 9 Apr 2020 02:17:22 +0200 Subject: installer: Allow Alt+Shift toggle from non-Latin keyboard layouts. Fixes . * gnu/installer/newt/keymap.scm (%non-latin-layouts): New variable. (%non-latin-variants): New variable. (%latin-layout+variants): New variable. (toggleable-latin-layout): New procedure to compute combined layouts. (run-keymap-page): Use it. (keyboard-layout->configuration): Apply it in config.scm. (run-layout-page): Mention Alt+Shift. * gnu/installer/keymap.scm (kmscon-update-keymap): Pass on XKB options. * gnu/installer/record.scm (): 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. --- gnu/installer/keymap.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu/installer/keymap.scm') diff --git a/gnu/installer/keymap.scm b/gnu/installer/keymap.scm index df9fc5e441e..c42b308009d 100644 --- a/gnu/installer/keymap.scm +++ b/gnu/installer/keymap.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe +;;; Copyright © 2020 Florian Pelz ;;; ;;; This file is part of GNU Guix. ;;; @@ -154,8 +155,8 @@ Configuration Database, describing possible XKB configurations." ((models layouts) (values models layouts))))) -(define (kmscon-update-keymap model layout variant) - "Update kmscon keymap with the provided MODEL, LAYOUT and VARIANT." +(define (kmscon-update-keymap model layout variant options) + "Update kmscon keymap with the provided MODEL, LAYOUT, VARIANT and OPTIONS." (and=> (getenv "KEYMAP_UPDATE") (lambda (keymap-file) @@ -174,5 +175,8 @@ Configuration Database, describing possible XKB configurations." (format port layout) (put-u8 port 0) - (format port variant) + (format port (or variant "")) + (put-u8 port 0) + + (format port (or options "")) (put-u8 port 0)))))) -- cgit v1.2.3