[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#35583: Setting a GRUB keyboard-layout breaks GRUB… and Linux‽

From: Tobias Geerinckx-Rice
Subject: bug#35583: Setting a GRUB keyboard-layout breaks GRUB… and Linux‽
Date: Sun, 05 May 2019 18:27:31 +0200


Some (=none) of you might remember my X keyboard woes on #guix, where I was stuck without a backspace key or the key below it (\, |) on my ThinkPad X230T's US keyboard. Both sent out ‘XF86ScreenSaver’ codes instead.

I tried dozens of things, both in my system configuration and by running random stateful xkb commands (naughty), and managed to ‘fix’ the bug without ever finding the cause (very naughty).

I think I was looking for it in all the wrong places. Something goes wrong before the kernel even boots. Here's my keyboard-layout:

"us" "dvp" ; kaufmann.no/roland/dvorak #:model "thinkpad" ; pc104, pc105, thinkpad, #:options ; list of XKB Option strings (list "" ; unset all inherited options "caps:shiftlock" ; Shift Lock affects all keys
        "shift:breaks_caps"            ; Shift cancels Caps Lock
"compose:102" ; next to left Shift on pc105
        "lv3:ralt_switch"              ; key to choose 3rd level
"nbsp:level3n" ; nbsp @lv3, thin nbsp @lv4 "numpad:shift3" ; Num Lock: Shift chooses lv3
        "kpdl:semi"                    ; key pad semicolon @lv3
"misc:typo" ; add extra typographic chars
        "ctrl:swapcaps"                ; onwards for great Emacs
"terminate:ctrl_alt_bksp"))) ; zap X just to watch it die

Here's what works just fine:

  (service slim-service-type
              (keyboard-layout keyboard-layout)

However, today I tried to (re-)add it to GRUB, too, and ended up writing the following comment:

  (bootloader grub-efi-bootloader)
;; XXX Strange bug: GRUB can read the LUKS passphrase, but afterwards (at ;; the menu screen) no longer responds to key presses. Even stranger: it ;; makes my X230T's backspace key send ‘XF86ScreenSaver’s even on Linux.
  ;; (keyboard-layout keyboard-layout)
  (target "/boot/efi")
  (timeout 1))))

This is 100% reproducible.

I'll try to narrow it down a bit, but the combination of losing my actual work-workstation (which is also my funstation) while entering my passphrase 5 times, every time, makes that an unpleasant and tedious affair.

Kind regards,


Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]