Bug 15406 - improper Multi_key placement
Summary: improper Multi_key placement
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/evdev (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: Peter Hutterer
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2008-04-08 10:43 UTC by Dmitry Morozhnikov
Modified: 2016-11-28 04:39 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
xev output with kbd driver (6.46 KB, text/plain)
2008-04-10 08:31 UTC, Dmitry Morozhnikov
no flags Details
xev output with evdev driver (29.14 KB, text/plain)
2008-04-10 08:32 UTC, Dmitry Morozhnikov
no flags Details

Description Dmitry Morozhnikov 2008-04-08 10:43:00 UTC
Some peoples like to enter national symbols with help of grp:*_switch keys. After recent update of xorg related packages on my gentoo box i have realized what it is pretty difficult to begin a sentence with a capital cyrillic letter. After some investigations i found what root of the evil located in the file /usr/share/X11/xkb/symbols/group from package xkeyboard-config-1.2. On the second level of all keys there is Multi_key which cause unwanted “J” when pressing LWIN-SHIFT-J, while expected (old) behaviour is to have Mode_switch on all levels, which translates to cyrillic capital “О” in my layout. 

Please remove Multi_key from symbols/group modifiers. There are a lot of other ways to specify Multi_key with xkb.
Comment 1 Sergey V. Udaltsov 2008-04-08 14:23:28 UTC
A lot of definitions are using Multi_key since version first commit of that file. Which change in particular caused you that trouble? What is the switching option you're using?
Comment 2 Dmitry Morozhnikov 2008-04-08 23:54:24 UTC
Sorry! Now i see what Multi_key was there for ages. 

For many years, i have entered cyrillic letters with pressed LWIN, while capital cyrillic letters was entered with LWIN+LFSH without problem. Problems begun from update to 1.4.0.90 on my box. Now i don't know if this is related to switch to the evdev driver or some xkeyboard-config change. But also i have found a workaround which have caused me to write this bug. If in the file symbols/group change definition:

partial modifier_keys
xkb_symbols "lwin_switch" {
  key <LWIN> {
    symbols[Group1] = [ Mode_switch, Multi_key ],
    virtualMods= AltGr
    };
};

to the form “symbols[Group1] = [ Mode_switch ],” (without Multikey), then my new problems completely gone. 

My current layout and options is set by this command (since update to xorg 1.4.0.90):

setxkbmap -model evdev -rules xorg -layout en_US,ru -variant ,winkeys -option -option grp:caps_toggle,grp:lwin_switch,grp_led:scroll,compose:menu,lv3:ralt_switch,keypad:oss,numpad:microsoft

Old configuration was in the file /etc/X11/xorg.conf and look like this:

    Driver         "kbd"
    Option         "AutoRepeat" "500 30"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "en_US,ru(winkeys)"
    Option         "XkbOptions" "grp:caps_toggle,grp:lwin_switch,grp_led:scroll,compose:menu,lv3:ralt_switch,keypad:oss,numpad:microsoft"

Because now i'm not sure if my problems directly related to the xkeyboard-config, please feel free to close this bug. Sorry again.
Comment 3 Sergey V. Udaltsov 2008-04-09 15:00:38 UTC
Since the problem is here, and no changes on xkeyboard-config side, I am moving this bug to the keyboard driver. I SUSPECT it is about evdev driver. Would you consider changing the driver temporarily to good old kbd and checking the behaviour?
Comment 4 Daniel Stone 2008-04-09 17:19:18 UTC
(In reply to comment #2)
> For many years, i have entered cyrillic letters with pressed LWIN, while
> capital cyrillic letters was entered with LWIN+LFSH without problem. Problems
> begun from update to 1.4.0.90 on my box. Now i don't know if this is related to
> switch to the evdev driver or some xkeyboard-config change. But also i have
> found a workaround which have caused me to write this bug. If in the file
> symbols/group change definition:

Did it happen with 1.4.0? If not, can you please git-bisect it?
Comment 5 Dmitry Morozhnikov 2008-04-10 08:29:46 UTC
@Sergey V. Udaltsov
Thank you!

> Would you consider changing the driver temporarily to good old kbd and checking the behaviour?

I have folowed this steps:

1. To use /etc/X11/xorg.conf input configuration, i have added “Option "AutoAddDevices" "false"”

2. My kbd configuration looks like:

   Driver         "kbd"
   Option         "AutoRepeat" "500 30"
   Option         "XkbRules" "xorg"
   Option         "XkbModel" "pc105"
   Option         "XkbLayout" "en_US,ru(winkeys)"
   Option         "XkbOptions" "grp:caps_toggle,grp:lwin_switch,grp_led:scroll,compose:menu,lv3:ralt_switch,keypad:oss,numpad:microsoft"

Result: no problems.

3. Evdev variant looks like:

   Driver         "evdev"
   Option    "Device" "/dev/input/event0"
   Option         "AutoRepeat" "500 30"
   Option         "XkbRules" "xorg"
   Option         "XkbModel" "evdev"
   Option         "XkbLayout" "en_US,ru(winkeys)"
   Option         "XkbOptions" "grp:caps_toggle,grp:lwin_switch,grp_led:scroll,compose:menu,lv3:ralt_switch,keypad:oss,numpad:microsoft"

Result: problem exists.

Please look at attachments for differences between kbd and evdev in a sence of xev output. In both sessions i have pressed <LWIN>, than <LFSH>, than <J>, than release everything and press Alt+F4 to close xev window. Please note autorepeat of Mode_switch/Multi_key in evdev variant not seen in kbd variant — that cause a size differences between logs.

> Did it happen with 1.4.0? If not, can you please git-bisect it?

Never tried evdev with 1.4.0. I'll try to find it.
Comment 6 Dmitry Morozhnikov 2008-04-10 08:31:27 UTC
Created attachment 15806 [details]
xev output with kbd driver
Comment 7 Dmitry Morozhnikov 2008-04-10 08:32:26 UTC
Created attachment 15807 [details]
xev output with evdev driver
Comment 8 Dmitry Morozhnikov 2008-04-10 12:44:27 UTC
> Did it happen with 1.4.0? If not, can you please git-bisect it?

Just tried 1.4.0 — problem persist. 
Comment 9 Peter Hutterer 2008-04-24 00:59:58 UTC
(In reply to comment #8)
> > Did it happen with 1.4.0? If not, can you please git-bisect it?
> 
> Just tried 1.4.0 — problem persist. 
> 

Just tried it in master and it works. LWIN + LSHFT + J prints out Cyrillic O in xev as keycode. With both kbd and evdev. So I guess this problem may be fixed, can you please verify this?
Comment 10 Dmitry Morozhnikov 2008-05-05 07:39:06 UTC
> Just tried it in master and it works. LWIN + LSHFT + J prints out Cyrillic O in
xev as keycode. With both kbd and evdev. So I guess this problem may be fixed,
can you please verify this?

I'm afraid, it is not true. I have tried xserver from git and found what a problem is still there. 
Comment 11 Dmitry Morozhnikov 2008-05-05 21:14:26 UTC
By the way, seems what chances to get Cyrillic_O is somehow magically depend on previously entered letters. For example, if you type “jjjjj”, then <LWIN>+<LSHFT>+<J>, you have a better chance to get “J”, than Cyrillic_O. Otherwise, if you type “оооооо” (Cyrillic_o), and then <LWIN>+<LSHFT>+<J>, _may be_ you will get Cyrillic_O.
Comment 12 Peter Hutterer 2016-11-28 04:39:46 UTC
This is a mass change of bugs. Bugs assigned to me that haven't been updated in the last 3 years are closed as WONTFIX, because, well, let's at least be honest about it.

Please do not re-open unless you have a really good reason to do so (e.g. you're fixing it yourself). If it hasn't been fixed in the last 3 years, it probably won't be fixed anytime soon either. Sorry.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.