Bug#899979: keyboard-configuration: the caron dead-key of the czech keyboard on the console does not work as expected

2018-06-01 Thread Jan Rafaj




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

2018-05-31 Thread Jan Rafaj


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

2018-05-28 Thread Jan Rafaj


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

2018-05-28 Thread Jan Rafaj


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

2018-05-24 Thread Jan Rafaj
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