Package: keymapper
Version: 0.6.4
Severity: normal
Tags: patch
User: [email protected]
Usertags: origin-ubuntu stonking ubuntu-patch

Dear Maintainer,

In Ubuntu, when building console-setup, we use keymapper's gen_sym to produce a
pc105.tree file for the installer.

Nowadays, console-setup's keymaps contain symbols not defined in keymapper,
resulting in gen_sym skipping over layouts:

Parsing: be
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c7ed4980>
... skipped 'be'
Parsing: bg
Parsing: br
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c8093110>
... skipped 'br'
Parsing: by
Parsing: ca
Parsing: ch
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c7eb20f0>
... skipped 'ch'
Parsing: cz
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c8137130>
... skipped 'cz'
Parsing: de:nodeadkeys
Parsing: dk
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80a0d50>
... skipped 'dk'
Parsing: ee
Keysym 'dead_kdoubleacute' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80a1e50>
... skipped 'ee'
Parsing: es
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c7ff6d50>
... skipped 'es'
Parsing: fi
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c7ff76b0>
... skipped 'fi'
Parsing: fr
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c809e430>
... skipped 'fr'
Parsing: fr:latin9
Parsing: fr:oss
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80ae000>
... skipped 'fr:oss'
Parsing: gb
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'gb'
Parsing: gr
Keysym 'dead_kbreve' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'gr'
Parsing: hr
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'hr'
Parsing: hu
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'hu'
Parsing: il
Parsing: is
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'is'
Parsing: it
Keysym 'dead_kdoubleacute' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'it'
Parsing: latam
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'latam'
Parsing: lt
Parsing: lv
Parsing: mk
Parsing: no
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'no'
Parsing: pl
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'pl'
Parsing: pt
Keysym 'dead_kogonek' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'pt'
Parsing: ro
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'ro'
Parsing: ro:std
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'ro:std'
Parsing: ru
Parsing: se
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'se'
Parsing: sk:qwerty
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'sk:qwerty'
Parsing: th:tis
Parsing: tr
Keysym 'dead_kcaron' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'tr'
Parsing: tr:f
Keysym 'dead_kbreve' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'tr:f'
Parsing: ua
Parsing: us
Parsing: us:dvorak
Keysym 'dead_kbreve' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'us:dvorak'
Parsing: us:intl
Keysym 'dead_kdoubleacute' not found
<keymapper.parse.linux.linuxmapScanner object at 0x7a99c80adf30>
... skipped 'us:intl'

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix gen_keymap refusing to work with different symbols (LP: #2152901):
    - dead_kcaron,
    - dead_kogonek,
    - dead_kdoubleacute,
    - dead_kbreve,
    - dead_stroke,
    - dead_currency,
    - dead_belowcomma.


Thanks for considering the patch.

-- System Information:
Debian Release: forky/sid
  APT prefers resolute-updates
  APT policy: (500, 'resolute-updates'), (500, 'resolute-security'), (500, 
'resolute')
Architecture: amd64 (x86_64)

Kernel: Linux 7.0.0-22-generic (SMP w/14 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru keymapper-0.6.4build1/data/symbols 
keymapper-0.6.4ubuntu1~ppa3/data/symbols
--- keymapper-0.6.4build1/data/symbols  2024-09-05 23:17:39.000000000 +0200
+++ keymapper-0.6.4ubuntu1~ppa3/data/symbols    2026-06-05 15:18:11.000000000 
+0200
@@ -134,7 +134,7 @@
 00a1 exclamdown
 00a2 cent
 00a3 sterling
-00a4 currency
+00a4 currency dead_currency
 00a5 yen
 00a6 brokenbar
 00a7 paragraph_sign
@@ -358,9 +358,16 @@
 02da abovering dead_abovering
 02db ogonek
 02dd doubleacute
+0306 dead_kbreve
 0309 dead_hook
+030b dead_kdoubleacute
+030c dead_kcaron
 031b dead_horn
 0323 dead_belowdot
+0326 dead_belowcomma
+0328 dead_kogonek
+# dead_stroke could also correspond to other unicodes entries such as 0336
+0335 dead_stroke
 0384 accent
 0385 Greek_accentdieresis diaeresisaccent
 0386 Greek_ALPHAaccent Alphaaccent

Reply via email to