;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
make-x11-keymap-layout
x11-keymap-layout?
x11-keymap-layout-name
+ x11-keymap-layout-synopsis
x11-keymap-layout-description
x11-keymap-layout-variants
x11-keymap-layout make-x11-keymap-layout
x11-keymap-layout?
(name x11-keymap-layout-name) ;string
- (description x11-keymap-layout-description) ;string
+ (synopsis x11-keymap-layout-synopsis) ;string (e.g., "en")
+ (description x11-keymap-layout-description) ;string (a whole phrase)
(variants x11-keymap-layout-variants)) ;list of <x11-keymap-variant>
(define-record-type* <x11-keymap-variant>
(variantList ,[variant -> v] ...))
(x11-keymap-layout
(name name)
+ (synopsis (car
+ (assoc-ref rest-layout 'shortDescription)))
(description (car
(assoc-ref rest-layout 'description)))
(variants (list v ...)))]
. ,rest-layout))
(x11-keymap-layout
(name name)
+ (synopsis (car
+ (assoc-ref rest-layout 'shortDescription)))
(description (car
(assoc-ref rest-layout 'description)))
(variants '()))]))
((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)
(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))))))