Bug 1099778 - Missing keys in Czech UCW keybord layout.
Missing keys in Czech UCW keybord layout.
Status: RESOLVED INVALID
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X.Org
Current
All All
: P3 - Medium : Normal (vote)
: ---
Assigned To: Michal Srb
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-07-01 19:15 UTC by Honza Nijaký
Modified: 2018-07-03 11:28 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Honza Nijaký 2018-07-01 19:15:09 UTC
The czech UCW layout should contain all accented letters, that are present in the Czech language and some other accented letters, that are present on the remining keys. For instance, there are many ways how an 's' can be accented, but there is only one way in the Czech language, which is š. So where on the QWRERTY keyboard would be s, here is š. In combination with Shift, the keyboard layout contains the capital forms of the letters, which can be typed also with CapsLock. 

To the problem: the Ě and Š letters can be written only with CapsLock, not with Shift, even though the layout file defines them correctly.

How to reproduce:
setxkbmap "cz(ucw)" 
CAUTION! If you write the command in the way showed above, you will replace all your normal letters and will not be able to write a command to revert the change. Use multiple layouts at once and select a keyboard shortcut to switch them.
Comment 1 Stefan Dirsch 2018-07-02 09:49:55 UTC
Milan, can you reproduce that? I figured that you actually added the support in 2008 ...
Comment 2 Michal Srb 2018-07-02 12:12:15 UTC
I was not able to reproduce it on Tumbleweed or Leap 15.
setxkbmap "cz(ucw)"
Shift+W = Ě
Shift+S = Š

But I assume you do not use "cz(ucw)" alone, but as a secondary layout in addition to normal Czech layout and switch between them with some hotkey. Maybe the combination of the hotkey and shift is what got broken?
Comment 3 Honza Nijaký 2018-07-02 12:15:39 UTC
(In reply to Michal Srb from comment #2)
> I was not able to reproduce it on Tumbleweed or Leap 15.
> setxkbmap "cz(ucw)"
> Shift+W = Ě
> Shift+S = Š
> 
> But I assume you do not use "cz(ucw)" alone, but as a secondary layout in
> addition to normal Czech layout and switch between them with some hotkey.
> Maybe the combination of the hotkey and shift is what got broken?

Yes, I use the layout in this combination:
setxkbmap "us,cz(ucw)" -option grp:caps_switch

The weird thing is that as I wrote, other keys work normally.
Comment 4 Honza Nijaký 2018-07-02 12:24:53 UTC
I can't reproduce when switching manually instead of CapsSwitch too.
Comment 5 Stefan Dirsch 2018-07-02 12:59:46 UTC
When looking at the patch I see:

commit c26f7b71c1783648932ba6e71e18a9af35688474
Author: Sergey Udaltsov <svu@linnie-the-pooh.(none)>
Date:   Mon Sep 15 21:46:29 2008 +0100

    added cz(ucw) and options

[...]

+      <option>
+        <configItem>
+          <name>grp:caps_switch</name>
+          <description>CapsLock key switches layout while pressed, Alt+CapsLock does the original capslock action.</description>
+        </configItem>
+      </option>

Maybe this explains the issue you're seing?
Comment 6 Stefan Dirsch 2018-07-02 13:01:56 UTC
More information in https://bugs.freedesktop.org/show_bug.cgi?id=17587
Comment 7 Honza Nijaký 2018-07-02 13:04:49 UTC
That is the expected behaviour. When I type I use CapsLock as a modifier key to add the according accent to letters, so CapsLock+c becomes č CapsLock+Shift+C becomes Č and so on. This happens with all letters except Ě and Š.
Comment 8 Stefan Dirsch 2018-07-02 13:11:48 UTC
Hmm ...
Comment 9 Honza Nijaký 2018-07-02 13:17:26 UTC
https://forums.opensuse.org/showthread.php/531168-Manually-modify-KDE-Plasma-keyboard-layout-(Maybe-even-somehow-contribute-the-change)\

This is the original forum post, where I duscussed my problem, where you maybe can find more information.
Comment 10 Stefan Dirsch 2018-07-02 14:13:32 UTC
Hmm. With 

  setxkbmap "us,cz(ucw)" -option grp:caps_switch

Capslock+w = ě
Capslock+s = š
Comment 11 Stefan Dirsch 2018-07-02 14:16:12 UTC
Same for

Capslock+Shift+w = Ě
Capslock+Shift+s = Š
Comment 12 Honza Nijaký 2018-07-02 14:20:19 UTC
(In reply to Stefan Dirsch from comment #11)
> Same for
> 
> Capslock+Shift+w = Ě
> Capslock+Shift+s = Š

That doesn't work for me.
Comment 13 Honza Nijaký 2018-07-02 14:22:31 UTC
(In reply to Stefan Dirsch from comment #10)
> Hmm. With 
> 
>   setxkbmap "us,cz(ucw)" -option grp:caps_switch
> 
> Capslock+w = ě
> Capslock+s = š

While that does.
Comment 14 Stefan Dirsch 2018-07-02 14:28:55 UTC
Ok. Maybe Michal or Milan can reproduce.
Comment 15 Michal Srb 2018-07-02 15:08:28 UTC
I can reproduce. With

  setxkbmap "us,cz(ucw)" -option grp:caps_switch

Capslock+Shift+w = nothing
Capslock+Shift+s = nothing

By the way, also:
Capslock+Shift+x = nothing (but maybe that is expected)

I tested in Leap 15 in KDE and in Gnome.

Xev shows that no event is delivered at all when the W/S/X button is pressed. So it seems that it is not a problem of the mapping, but something prevented the event from being sent. I'll try to debug where it is lost.
Comment 16 Honza Nijaký 2018-07-02 15:14:51 UTC
> By the way, also:
> Capslock+Shift+x = nothing (but maybe that is expected)

The Czech special characters don't take up the whole alphabet, so the rest of the keys contain some common special characters from other languages. The ß AKA the sharp S is a German character, which doesn't have a capital form. So even in the layout files it is defined as empty.
Comment 17 Michal Srb 2018-07-03 07:35:30 UTC
I was able to reproduce it on my notebook and apparently there are no events coming from kernel when pressing the W/S/X while holding Shift and Capslock (tested using evtest). The notebook keyboard is internally connected with some variant of PS/2. If I connect external USB keyboard, the key combination works fine.

So I suspect that we are just observing a hardware limitation here. What kind of keyboard do you use? Could you try with different one?
Comment 18 Honza Nijaký 2018-07-03 07:55:09 UTC
I observe a complete opposite of that. If I use a Lenovo Ultraslim Keyboard and Mouse combo (connected by a wireless USB dongle), I am unable to write these characters, but the internal keyboard of the notebook works without a problem.
Comment 19 Michal Srb 2018-07-03 11:28:20 UTC
Since you also observe the issue only with certain keyboard, it really seems to be hardware limitation. Unfortunately, we can not do anything about that.

You can try to use different key for switching the layouts, for example the Win key: setxkbmap "us,cz(ucw)" -option grp:win_switch

Please reopen if the key combination worked in older version of openSUSE or other operating system.