Control: found -1 1.223
Control: retitle -1 console-setup: disagrees with xorg on what X keys exist ("WARNING: Unknown X keysym")
On Wed, Jul 25, 2018 at 03:00:03PM +0800, Ben Hutchings wrote:
> This is not a bug in initramfs-tools. The warning comes from console-
> setup and is triggered by a change to the German keyboard layout
Indeed, on my system (I use a customised German layout, attached)
console-setup.service fails, even though the layout works under X.org:
$ systemctl status console-setup.service
× console-setup.service - Set console font and keymap
Loaded: loaded (/lib/systemd/system/console-setup.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Thu 2023-11-16 06:35:40 CET; 16h ago
Main PID: 2308 (code=exited, status=1/FAILURE)
CPU: 158ms
Nov 16 06:35:40 rozbian systemd[1]: Starting console-setup.service - Set console font and keymap...
Nov 16 06:35:40 rozbian console-setup.sh[2351]: WARNING: Unknown X keysym "Ssharp"
Nov 16 06:35:40 rozbian console-setup.sh[2351]: WARNING: Unknown X keysym "Ssharp"
Nov 16 06:35:40 rozbian console-setup.sh[2316]: /usr/bin/setupcon: 999: cannot open /tmp/tmpkbd.OzTB9k: No such file
Nov 16 06:35:40 rozbian systemd[1]: console-setup.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 06:35:40 rozbian systemd[1]: console-setup.service: Failed with result 'exit-code'.
Nov 16 06:35:40 rozbian systemd[1]: Failed to start console-setup.service - Set console font and keymap.
The interesting bit is
$ grep sharp /usr/share/X11/xkb/symbols/de2
key <AC02> { [ s, S, ssharp, Ssharp ] };
i.e. M-s -> ß and M-S -> ẞ, which correspond as expected to
$ ą
ß (U+00DF, UTF-8 c3 9f ): LATIN SMALL LETTER SHARP S
ẞ (U+1E9E, UTF-8 e1 ba 9e ): LATIN CAPITAL LETTER SHARP S
So Ssharp definitely exists but isn't in <X11/keysymdef.h>:
$ grep -i sharp /usr/include/X11/keysymdef.h
#define XK_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
#define XK_musicalsharp 0x0af5 /* U+266F MUSIC SHARP SIGN */
or, indeed, anywhere?
$ grep -ri ssharp /usr/include/
/usr/include/gtk-3.0/gdk/gdkkeysyms-compat.h:#define GDK_ssharp 0x0df
/usr/include/gtk-3.0/gdk/gdkkeysyms.h:#define GDK_KEY_ssharp 0x0df
/usr/include/xkbcommon/xkbcommon-keysyms.h:#define XKB_KEY_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
/usr/include/gtk-4.0/gdk/gdkkeysyms.h:#define GDK_KEY_ssharp 0x0df
/usr/include/X11/keysymdef.h:#define XK_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
xev says
KeyPress event, serial 35, synthetic NO, window 0x7800001,
root 0x6c6, subw 0x0, time 59127073, (215,-26), root:(966,406),
state 0x2080, keycode 39 (keysym 0xdf, ssharp), same_screen YES,
XKeysymToKeycode returns keycode: 28
XLookupString gives 2 bytes: (c3 9f) "ß"
XmbLookupString gives 2 bytes: (c3 9f) "ß"
XFilterEvent returns: False
KeyPress event, serial 35, synthetic NO, window 0x7800001,
root 0x6c6, subw 0x0, time 59129097, (215,-26), root:(966,406),
state 0x2081, keycode 39 (keysym 0x1001e9e, U1E9E), same_screen YES,
XLookupString gives 3 bytes: (e1 ba 9e) "ẞ"
XmbLookupString gives 3 bytes: (e1 ba 9e) "ẞ"
XFilterEvent returns: False
So whatever the source of truth w.r.t. keys xinput-or-whatever uses,
console-setup probably needs to use as well, or not error after warnings.
~ roz
default partial alphanumeric_keys
xkb_symbols "basic" {
// Visualisation and description: http://podziemie.net/xkb/pl
// Contact: Michał Górny <zrchos+freedesktop@gmail.com>
include "latin"
name[Group1]="Niemiecki";
key <TLDE> { [ grave, asciitilde, notsign, logicalor ] };
key <AE01> { [ 1, exclam, notequal, exclamdown ] };
key <AE02> { [ 2, at, twosuperior, questiondown ] };
key <AE04> { [ 4, dollar, cent, onequarter ] };
key <AE05> { [ 5, percent, EuroSign, U2030 ] };
key <AE06> { [ 6, asciicircum, onehalf, logicaland ] };
key <AE07> { [ 7, ampersand, section, U2248 ] };
key <AE08> { [ 8, asterisk, periodcentered, threequarters ] };
key <AE09> { [ 9, parenleft, guillemotleft, plusminus ] };
key <AE10> { [ 0, parenright, guillemotright, degree ] };
key <AE11> { [ minus, underscore, endash, emdash ] };
key <AD01> { [ q, Q, Greek_pi, Greek_OMEGA ] };
key <AD02> { [ w, W, oe, OE ] };
key <AD03> { [ e, E, eogonek, Eogonek ] };
key <AD04> { [ r, R, copyright, registered ] };
key <AD05> { [ t, T, ssharp, trademark ] };
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD08> { [ i, I, rightarrow, U2194 ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
key <AC02> { [ s, S, ssharp, Ssharp ] };
key <AC04> { [ f, F, ae, AE ] };
key <AC06> { [ h, H, rightsinglequotemark, U2022 ] };
key <AC07> { [ j, J, schwa, SCHWA ] };
key <AC08> { [ k, K, ellipsis, dead_stroke ] };
key <AB01> { [ z, Z, zabovedot, Zabovedot ] };
key <AB02> { [ x, X, zacute, Zacute ] };
key <AB03> { [ c, C, cacute, Cacute ] };
key <AB04> { [ v, V, doublelowquotemark, leftsinglequotemark ] };
key <AB05> { [ b, B, rightdoublequotemark, leftdoublequotemark ] };
key <AB06> { [ n, N, nacute, Nacute ] };
key <AB07> { [ m, M, mu, infinity ] };
key <AB08> { [ comma, less, lessthanequal, multiply ] };
key <AB09> { [ period, greater, greaterthanequal, division ] };
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
include "kpdl(comma)"
include "level3(ralt_switch)"
};
Attachment:
signature.asc
Description: PGP signature