Subject: bug#31735: closed (Re: [bug#31735] [PATCH] Document xorg keymap configuration)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 08 Jun 2018 18:41:02 +0000

Your bug report

#31735: [PATCH] Document xorg keymap configuration

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31735: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31735
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#31735] [PATCH] Document xorg keymap configuration
From: Julien Lepiller <[email-masked]>
To: [email-masked]
Date: Fri, 8 Jun 2018 20:40:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Le Fri, 08 Jun 2018 18:42:58 +0200,
[email-masked] (Ludovic Courtès) a écrit :

> 
> … I really hope we can soon improve on this and provide an abstract
> mechanism to specify the keyboard layout for everything from GRUB to
> X.

Same here. Anyway, pushed as 136a1e8b577a5f44e7ff35e24d81d13be922f2af.

> Thanks,
> Ludo’.

Subject: [PATCH] Document xorg keymap configuration
From: Julien Lepiller <[email-masked]>
To: [email-masked]
Date: Wed, 6 Jun 2018 19:05:53 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi, this patch adds an example configuration for using a different
keyboard layout in xorg.
From 2bb6a98052313dc40d62184dd62a0a625e2b17c1 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <[email-masked]>
Date: Wed, 6 Jun 2018 19:01:42 +0200
Subject: [PATCH] doc: Document xorg keymap configuration.

* doc/guix.texi (Xorg display): Add an example xorg keymap configuration.
---
 doc/guix.texi | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index e1353842e..cb81d8f01 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11851,6 +11851,44 @@ resolutions---e.g., @code{((1024 768) (640 480))}.
 Last, @var{extra-config} is a list of strings or objects appended to the
 configuration file.  It is used to pass extra text to be
 added verbatim to the configuration file.
+
+@cindex keymap
+@cindex keyboard layout
+This procedure is especially useful to configure a different keyboard layout
+than the default US keymap.  For instance, to use the ``bépo'' keymap by
+default on the display manager:
+
+@example
+(define bepo-evdev
+  "Section \"InputClass\"
+        Identifier \"evdev keyboard catchall\"
+        Driver \"evdev\"
+        MatchIsKeyboard \"on\"
+        Option \"xkb_layout\" \"fr\"
+        Option \"xkb_variant\" \"bepo\"
+EndSection")
+
+(operating-system
+  ...
+  (services
+    (modify-services %desktop-services
+      (slim-service-type config =>
+        (slim-configuration
+          (inherit config)
+          (startx (xorg-start-command
+                   #:configuration-file
+                   (xorg-configuration-file
+                     #:extra-config
+                     (list bepo-evdev)))))))))
+@end example
+
+The @code{MatchIsKeyboard} line specifies that we only apply the configuration
+to keyboards.  Without this line, other devices such as touchpad may not work
+correctly because they will be attached to the wrong driver.  In this example,
+the user typically used @code{setxkbmap fr bepo} to set their favorite keymap
+once logged in.  The first argument corresponds to the layout, while the second
+argument corresponds to the variant.  The @code{xkb_variant} line can be omitted
+to select the default variant.
 @end deffn
 
 @deffn {Scheme Procedure} screen-locker-service @var{package} [@var{program}]
-- 
2.17.0