Subject: [bug#49359] [PATCH] services: xorg: Do not force driver for keyboard defaults.

From: Brice Waegeneire <[email-masked]>
Date: Sat, 3 Jul 2021 20:29:02 +0200

Let xorg choose the correct driver for keyboards; if need be the driver
can be forced by the user on a device by device basis.

* gnu/services/xorg.scm (xorg-configuration->file)[input-class-section]:
Remove matching on device path and forcing the driver.  Put each option
on a separate line.
---
 gnu/services/xorg.scm | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 8ffea3b9dd..2c894ac6b9 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -225,27 +225,24 @@ EndSection"))
               (define (input-class-section layout variant model options)
                 (string-append "
 Section \"InputClass\"
-  Identifier \"evdev keyboard catchall\"
+  Identifier \"keyboard defaults\"
   MatchIsKeyboard \"on\"
-  Option \"XkbLayout\" " (object->string layout)
+  Option \"XkbLayout\" " (object->string layout) "\n"
   (if variant
       (string-append "  Option \"XkbVariant\" \""
-                     variant "\"")
+                     variant "\"\n")
       "")
   (if model
       (string-append "  Option \"XkbModel\" \""
-                     model "\"")
+                     model "\"\n")
       "")
   (match options
     (()
      "")
     (_
      (string-append "  Option \"XkbOptions\" \""
-                    (string-join options ",") "\""))) "
-
-  MatchDevicePath \"/dev/input/event*\"
-  Driver \"evdev\"
-EndSection\n"))
+                    (string-join options ",") "\"\n")))
+  "EndSection\n"))
 
               (define (expand modules)
                 ;; Append to MODULES the relevant /lib/xorg/modules
-- 
2.31.1