Bug#899979: keyboard-configuration: the caron dead-key of the czech keyboard on the console does not work as expected
On Thu, 31 May 2018, Samuel Thibault wrote: Anton Zinoviev, le ven. 01 juin 2018 00:48:18 +0300, a ecrit: If a bug makes a package totally unusable, but otherwise harmless, then this bug is (usually) not going to be fixed in the stable release. Mmm, I believe that sentence enters the "important" area, or even more: 4 important a bug which has a major effect on the usability of a package, without rendering it completely unusable to everyone. For me, I took a liberty to mark it 'important' just becouse something, that appeared to work in former Debian releases (console with ability to write czech characters), has suddenly stopped working and I wasnt able to obtain satisfactory results that would mitigate the problem - from that, I thought it would somehow fall under the 'important' definition. But feel free to change... Now, to my latest post. I did thorough checking of all the compose definitions I've suggested to add, and have noticed that the following ones still do not produce the corresponding caron-ified characters as they should - I have no idea why: compose '^' 'S' to U+0160 # instead produces U+015A (0xC59A) compose '^' 's' to U+0161 # instead produces U+00A8 (0xC2A8) compose '^' 'Z' to U+017D # instead produces U+00B4 (0xC2B4) compose '^' 'z' to U+017E # instead produces U+00B8 (0xC2B8) All the other compose definitions produce correct results. If you could also please look for the reason of this. Thanks, Jan
Bug#899979: keyboard-configuration: the caron dead-key of the czech keyboard on the console does not work as expected
Hello guys, Thanks for your valuable input, and for shedding more light on the inners of the current localisation approach. The layouts from the 'kbd' package do not work with UTF-8 input. I've used them in the past with 1-byte input forced in the kernel by adding the 'vt.default_utf8=0' boot parameter.. Anton, thanks for suggesting the workaround. However, adding the kmap "snapped" with ckbcomp and hand-modified afterwards as a value to 'KMAP=' in the /etc/default/keyboard is not really a workaround, since this overrides whatever that the user may have set in the XKBOPTIONS (such as grp switching/toggling), effectively leaving her/him with only the localised KMAP loaded. Nevertheless, the hand-modification you've suggested for me was the missing key in the puzzle - please see further. With all the above said, I've been able to create a (hopefully) complete set of all the missing compose defs for the czech letters. Please see the attached file. If you could append this to the /etc/console-setup/compose.ISO-8859-2.inc file. This will add all the missing definitions, enabling the user to input all the czech letters on a cz keyboard layout, provided that (s)he has defined either 'Lat2' or 'ISO-8859-2' for the 'CODESET=' in the /etc/default/console-setup . I think this could be fixed right in the Stretch. With kind regards, Jan compose '^' 'C' to U+010C compose '^' 'c' to U+010D compose '^' 'D' to U+010E compose '^' 'd' to U+010F compose '^' 'E' to U+011A compose '^' 'e' to U+011B compose '^' 'L' to U+013D compose '^' 'l' to U+013E compose '^' 'N' to U+0147 compose '^' 'n' to U+0148 compose '^' 'R' to U+0158 compose '^' 'r' to U+0159 compose '^' 'S' to U+0160 compose '^' 's' to U+0161 compose '^' 'T' to U+0164 compose '^' 't' to U+0165 compose '^' 'Z' to U+017D compose '^' 'z' to U+017E compose ''' 'A' to U+00C1 compose ''' 'E' to U+00C9 compose ''' 'I' to U+00CD compose ''' 'O' to U+00D3 compose ''' 'U' to U+00DA compose ''' 'Y' to U+00DD compose ''' 'a' to U+00E1 compose ''' 'e' to U+00E9 compose ''' 'i' to U+00ED compose ''' 'o' to U+00F3 compose ''' 'u' to U+00FA compose ''' 'y' to U+00FD compose ''' 'C' to U+0106 compose ''' 'c' to U+0107 compose ''' 'L' to U+0139 compose ''' 'l' to U+013A compose ''' 'N' to U+0143 compose ''' 'n' to U+0144 compose ''' 'R' to U+0154 compose ''' 'r' to U+0155 compose ''' 'S' to U+015A compose ''' 's' to U+015B compose ''' 'Z' to U+0179 compose ''' 'z' to U+017A
Bug#899979: keyboard-configuration: the caron dead-key of the czech keyboard on the console does not work as expected
On Mon, 28 May 2018, Jan Rafaj wrote: attached file. If you could append this to the /etc/console-setup/compose.ISO-8859-2.inc file. This will add all the missing definitions, enabling the user to input all the czech letters on a cz keyboard layout, provided that (s)he has defined either 'Lat2' or 'ISO-8859-2' for the 'CODESET=' in the /etc/default/console-setup . I'm taking back the "provided that (s)he has defined either 'Lat2' or 'ISO-8859-2' for the 'CODESET=' in the /etc/default/console-setup". I've been really only able to come up with this workaround: 1. do just once: cat bug-899979-missing-compose-defs-for-czech-console-kb >> \ /etc/console-setup/compose.ISO-8859-2.inc 2. add to /etc/rc.local : sed -ri 's|^(CHARMAP=").*|\1ISO-8859-2"|' /etc/default/console-setup setupcon sed -ri 's|^(CHARMAP=").*|\1UTF-8"|' /etc/default/console-setup setupcon 3. reboot Jan
Bug#899979: keyboard-configuration: the caron dead-key of the czech keyboard on the console does not work as expected
Hello guys, Thanks for your valuable input, and for shedding more light on the inners of the current localisation approach. The layouts from the 'kbd' package do not work with UTF-8 input. I've used them in the past with 1-byte input forced in the kernel by adding the 'vt.default_utf8=0' boot parameter.. Anton, thanks for suggesting the workaround. However, adding the kmap "snapped" with ckbcomp and hand-modified afterwards as a value to 'KMAP=' in the /etc/default/keyboard is not really a workaround, since this overrides whatever that the user may have set in the XKBOPTIONS (such as grp switching/toggling), effectively leaving her/him with only the localised KMAP loaded. Nevertheless, the hand-modification you've suggested for me was the missing key in the puzzle - please see further. With all the above said, I've been able to create a (hopefully) complete set of all the missing compose defs for the czech letters. Please see the attached file. If you could append this to the /etc/console-setup/compose.ISO-8859-2.inc file. This will add all the missing definitions, enabling the user to input all the czech letters on a cz keyboard layout, provided that (s)he has defined either 'Lat2' or 'ISO-8859-2' for the 'CODESET=' in the /etc/default/console-setup . I think this could be fixed right in the Stretch. With kind regards, Jan compose '^' 'C' to U+010C compose '^' 'c' to U+010D compose '^' 'D' to U+010E compose '^' 'd' to U+010F compose '^' 'E' to U+011A compose '^' 'e' to U+011B compose '^' 'L' to U+013D compose '^' 'l' to U+013E compose '^' 'N' to U+0147 compose '^' 'n' to U+0148 compose '^' 'R' to U+0158 compose '^' 'r' to U+0159 compose '^' 'S' to U+0160 compose '^' 's' to U+0161 compose '^' 'T' to U+0164 compose '^' 't' to U+0165 compose '^' 'Z' to U+017D compose '^' 'z' to U+017E compose ''' 'A' to U+00C1 compose ''' 'E' to U+00C9 compose ''' 'I' to U+00CD compose ''' 'O' to U+00D3 compose ''' 'U' to U+00DA compose ''' 'Y' to U+00DD compose ''' 'a' to U+00E1 compose ''' 'e' to U+00E9 compose ''' 'i' to U+00ED compose ''' 'o' to U+00F3 compose ''' 'u' to U+00FA compose ''' 'y' to U+00FD compose ''' 'C' to U+0106 compose ''' 'c' to U+0107 compose ''' 'L' to U+0139 compose ''' 'l' to U+013A compose ''' 'N' to U+0143 compose ''' 'n' to U+0144 compose ''' 'R' to U+0154 compose ''' 'r' to U+0155 compose ''' 'S' to U+015A compose ''' 's' to U+015B compose ''' 'Z' to U+0179 compose ''' 'z' to U+017A
Bug#899979: keyboard-configuration: the caron dead-key of the czech keyboard on the console does not work as expected
Package: keyboard-configuration Version: 1.164 Severity: important Tags: l10n Dear Maintainer, *** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these template lines *** Severity: important When on the console, while switched to the czech keyboard layout, the keyboard button used as the dead key for the caron (the one marked with "+" next to the backspace on the international PC keyboard) does not produce characters with the caron above the letter. Prerequisite: toggle the keyboard from us to cz by once pressing CTRL and SHIFT together Current behavior: when pressing SHIFT and + together, followed by pressing "d", produces: ^d when holding SHIFT, and pressing + followed by pressing "d", produces: ^D Expected behavior: when pressing SHIFT and + together, followed by pressing "d", should produce a character with the UTF-8 code 0xC48F: ď when holding SHIFT, and pressing + followed by pressing "d", should produce a character with the UTF-8 code 0xC48E: Ď The effect is the same for the "t", "n", "c" and any other character in the czech alphabet that has the variant with the caron above the letter, capitals including, and when one tries to write that character using the caron dead key on the czech keyboard. So, for example, instead of: ť ň č Č I get: ^t ^n ^c ^C The above has been observed with the following setup: $ cat /etc/debian_version 9.4 $ uname -a Linux tst 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux $ cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-4.9.0-6-amd64 root=UUID=2bc1c9e8-e157-4d42-90b7-24e165cccf87 ro nomodeset $ COLUMNS=200 dpkg -l keyboard-configuration console-setup Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==---= ii console-setup 1.164all console font and keymap setup program ii keyboard-configuration 1.164all system-wide keyboard preferences $ cat /etc/default/keyboard # KEYBOARD CONFIGURATION FILE # Consult the keyboard(5) manual page. XKBMODEL="pc105" XKBLAYOUT="us,cz" XKBVARIANT=",qwerty" XKBOPTIONS="grp:alt_shift_toggle" BACKSPACE="guess" $ cat /etc/default/console-setup # CONFIGURATION FILE FOR SETUPCON # Consult the console-setup(5) manual page. ACTIVE_CONSOLES="/dev/tty[1-6]" CHARMAP="UTF-8" CODESET="Lat2" FONTFACE="VGA" FONTSIZE="8x16" $ cat /etc/default/locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 --- I have confirmed that the problem described exists for the "bksl", "qwerty" and "qwerty_bksl" keyboard variants, as well as XKBVARIANT "" (in the /etc/default/keyboard). The problem described above appeared since the switch from the kbd package to the keyboard-configuration/console-setup packages, and did not exist in Debian < 9. Please suggest a fix or a workaround. Thanks. -- System Information: Debian Release: 9.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-6-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages keyboard-configuration depends on: ii debconf 1.5.61 ii liblocale-gettext-perl 1.07-3+b1 keyboard-configuration recommends no packages. keyboard-configuration suggests no packages. Versions of packages console-setup depends on: ii console-setup-linux 1.164 ii debconf 1.5.61 ii xkb-data 2.19-1+deb9u1 Versions of packages console-setup suggests: ii locales 2.24-11+deb9u3 ii lsb-base 9.20161125 Versions of packages console-setup-linux depends on: ii init-system-helpers 1.48 ii initscripts 2.88dsf-59.9 ii kbd 2.0.3-2+b1 Versions of packages console-setup-linux suggests: ii console-setup 1.164 Versions of packages keyboard-configuration is related to: ii console-common0.7.89 ii console-data 2:1.12-5 pn console-tools pn gnome-control-center ii kbd 2.0.3-2+b1 ii systemd 232-25+deb9u3 -- debconf information excluded