GNU bug report logs - #40456
Invalid keyboard layouts pass through

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Severity: important; Reported by: Ludovic Courtès <ludo@HIDDEN>; dated Sun, 5 Apr 2020 21:00:02 UTC; Maintainer for guix is bug-guix@HIDDEN.
Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 5 Apr 2020 20:59:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 05 16:59:35 2020
Received: from localhost ([127.0.0.1]:46702 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jLCMg-0000HF-Uj
	for submit <at> debbugs.gnu.org; Sun, 05 Apr 2020 16:59:35 -0400
Received: from lists.gnu.org ([209.51.188.17]:45434)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1jLCMf-0000H4-4w
 for submit <at> debbugs.gnu.org; Sun, 05 Apr 2020 16:59:33 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:52158)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>) id 1jLCMe-0002mQ-2Z
 for bug-guix@HIDDEN; Sun, 05 Apr 2020 16:59:32 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43398)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1jLCMd-0003z3-Vt
 for bug-guix@HIDDEN; Sun, 05 Apr 2020 16:59:32 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=39632 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1jLCMd-00047T-9T
 for bug-guix@HIDDEN; Sun, 05 Apr 2020 16:59:31 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: bug-guix@HIDDEN
Subject: Invalid keyboard layouts pass through
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 17 Germinal an 228 de la =?utf-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Sun, 05 Apr 2020 22:59:28 +0200
Message-ID: <87zhbphcnj.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hello,

After a painful debugging session where I was blaming GDM for not using
the right keyboard layout, I found that I had specified an invalid
keyboard layout variant, as in:

  (keyboard-layout "fr" "does-not-exist")

=E2=80=98ckbcomp=E2=80=99 would build a layout for the console just fine, o=
nly with a
warning.  Xorg would switch to the default =E2=80=9Cfr=E2=80=9D layout (whi=
ch exists)
and ignore the =E2=80=9Cdoes-not-exist=E2=80=9D variant.

However, GNOME Shell would reject it in =E2=80=98keyboardManager.js=E2=80=
=99 because:

     [found, , , _layout, _variant] =3D this._xkbInfo.get_layout_info(id);

returns =E2=80=98found =3D false=E2=80=99 since =E2=80=98fr+does-not-exist=
=E2=80=99 is not found, and thus
goes on to use the US layout:

      if (found)
          return { layout: _layout, variant: _variant };
      else
          return { layout: DEFAULT_LAYOUT, variant: DEFAULT_VARIANT };

(This is just for GNOME Shell because again, Xorg itself installs the
=E2=80=9Cfr=E2=80=9D layout, as can be seen if you start ratpoison or simil=
ar.)

Long story short: it would be great if invalid keyboard layouts were
caught when the system is instantiated.  It could be =E2=80=98ckbcomp=E2=80=
=99 errorring
out, or we could have additional code that browses xkeyboard-config=E2=80=
=99s
=E2=80=98base.xml=E2=80=99 file.

Ludo=E2=80=99.




Acknowledgement sent to Ludovic Courtès <ludo@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#40456; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 19 Sep 2020 08:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.