Bug 63457 - in de/neo layout Alt key is not working
Summary: in de/neo layout Alt key is not working
Status: RESOLVED NOTOURBUG
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-12 08:47 UTC by g.schlisio
Modified: 2013-04-18 18:14 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
output of 'xkbcomp -a :0 -' (79.14 KB, text/plain)
2013-04-14 11:42 UTC, g.schlisio
Details

Description g.schlisio 2013-04-12 08:47:35 UTC
when loading neo layout in kde with
[code] setxkbmap de neo [\code]
all alt-something comzibations (like alt-f2, ctl-alt-del, alt-tab) do not work anymore.
ctl-alt-f1 is still working though.
currenty installed version is 2.8-1 from official archlinux repos
(zugreport there: https://bugs.archlinux.org/task/34723)
Comment 1 Andreas Wettstein 2013-04-12 18:06:02 UTC
Can you please attach the output of 'xkbcomp -a :0 -' (obtained after you executed 'setxkbmap de neo')?

Does Alt work normally if you set Neo as the keyboard layout otherwise, for example, in xorg.conf, from the login screen, or by setting user preferences?
Comment 2 g.schlisio 2013-04-14 11:42:45 UTC
Created attachment 77946 [details]
output of 'xkbcomp -a :0 -'

here the output of 'xkbcomp -a :0 -' after executing 'setxkbmap de neo'.

other methods do not seem to work also, but i am not quite sure, it is not called somewhere in the background.
Comment 3 Sergey V. Udaltsov 2013-04-14 17:14:43 UTC
In your output I see commented lines:

    key <LALT> {
//      type= "TWO_LEVEL",
//      virtualMods= Alt+Meta,

I do not see that in git. Did anybody mess with your installation? Could you try the version from git?
Comment 4 Andreas Wettstein 2013-04-14 17:57:21 UTC
>     key <LALT> {
> //      type= "TWO_LEVEL",
> //      virtualMods= Alt+Meta,

> I do not see that in git. Did anybody mess with your installation? Could you try the version from git?

This is normal, altwin(meta_alt).

I cannot spot anything suspicious in the layout. Which is not surprising, as Neo does not touch the left Alt key. The fact that Ctrl+Alt+F1 (which is handled by the server) works correctly suggests that the problem is with KDE.  Also, similar issues have been reported on the Neo mailing list, almost always for KDE (one exception: i3).

One more test please: If, instead of switching to neo, you exceute 'setxkbmap de', does this affect the Alt key as well?  Does executing 'setxkbmap de' after having switched to Neo fix the Alt key?
Comment 5 g.schlisio 2013-04-14 20:57:51 UTC
if i switch to de only, everything works.
i use standart arch packages from official repo, which seems to have no patch applied.
another observation: if i press alt-f2 with neo, in konsole i get a character Q, but in no other program i tried. strange enough.
so, what component of kde is probably the right to file a bugreport against?
(and thank you all for your time and your investigations)
Comment 6 Andreas Wettstein 2013-04-15 16:08:12 UTC
> if i switch to de only, everything works.

How about if you switch back from Neo to de only; does Alt work again?

> so, what component of kde is probably the right to file a bugreport against?

I do not know.  Also, I believe it is worthwhile to characterise the problem a bit more.  Yet one more experiment: Does 'setxkbmap de neo_base' break Alt?

If it does not break Alt, and if you feel comfortable fiddling with system files, please do some experiments with /usr/share/X11/xkb/symbols/neo.  In this file, you will find:

partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "neo" {

    include "de(neo_base)"

    name[Group1]= "German (Neo 2)";

    include "shift(both_capslock)"
    include "level3(caps_switch)"
    include "level3(bksl_switch)"
    include "level5(lsgt_switch_lock)"
    include "level5(ralt_switch_lock)"
};

Please comment out all but one of the last five include statements, then, 'setxkbmap de neo', and test Alt.  Repeat this for all five statements. Commenting out is achieved by putting a double slash (//) at the beginning of the line, like so:

partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "neo" {

    include "de(neo_base)"

    name[Group1]= "German (Neo 2)";

//    include "shift(both_capslock)"
//    include "level3(caps_switch)"
//    include "level3(bksl_switch)"
    include "level5(lsgt_switch_lock)"
//    include "level5(ralt_switch_lock)"
};

which would test if the level5(lsgt_switch_lock) causes problems.  Note that in order to edit the system file, you probably have to run the editor with sudo.
Comment 7 Andreas Wettstein 2013-04-15 16:12:01 UTC
Sorry, the section to look at looks like this:

partial alphanumeric_keys modifier_keys keypad_keys
xkb_symbols "neo" {

    include "de(neo_base)"

    name[Group1]= "German (Neo 2)";

    include "shift(both_capslock)"
    include "level3(caps_switch)"
    include "level3(bksl_switch)"
    include "level5(lsgt_switch)"
    include "level5(ralt_switch)"
};

but otherwise, the question remains the same.
Comment 8 g.schlisio 2013-04-15 16:14:56 UTC
(In reply to comment #6)
> > if i switch to de only, everything works.
> 
> How about if you switch back from Neo to de only; does Alt work again?
> 

yes, works again

> > so, what component of kde is probably the right to file a bugreport against?
> 
> I do not know.  Also, I believe it is worthwhile to characterise the problem
> a bit more.  Yet one more experiment: Does 'setxkbmap de neo_base' break Alt?

yes, breaks also
> If it does not break Alt, and if you feel comfortable fiddling with system
> files […]

no problem with trying, but since condition 1 is not met…
Comment 9 g.schlisio 2013-04-15 16:18:08 UTC
> If it does not break Alt, and if you feel comfortable fiddling with system
> files, please do some experiments with /usr/share/X11/xkb/symbols/neo.  In
> this file, you will find:
this file does not exist. but /usr/share/X11/xkb/symbols/de contains some occurance of 'neo'.
was it a typo or is this a hot path to follow?
Comment 10 Andreas Wettstein 2013-04-15 16:56:57 UTC
> was it a typo or is this a hot path to follow?

Just at typo.

That 'setxkbmap de neo_base' does not work is really strange.  With this setting, modifiers are completely left alone.  Hard to tell what KDE dislikes, but the only thing left that is unusual is the eight levels.  The only other eight level layout in current xkeyboard-config is selected by 'setxkbmap ca multix'.  Does Alt work with this?
Comment 11 g.schlisio 2013-04-15 17:22:53 UTC
(In reply to comment #10)
> > was it a typo or is this a hot path to follow?
> 
> Just at typo.
> 
> That 'setxkbmap de neo_base' does not work is really strange.  With this
> setting, modifiers are completely left alone.  Hard to tell what KDE
> dislikes, but the only thing left that is unusual is the eight levels.  The
> only other eight level layout in current xkeyboard-config is selected by
> 'setxkbmap ca multix'.  Does Alt work with this?

ca multix works like a charm.
Comment 12 g.schlisio 2013-04-15 18:27:39 UTC
maybe i should add. that some other combinations do not work either (not using, a friend pointed out).
at least ctrl+esc should bring up the process list, which it does with all layouts we spoke about except neo and neo_base.
any other keystrokes to try?
Comment 13 Andreas Wettstein 2013-04-15 18:51:38 UTC
> ca multix works like a charm.

Nice for the Canadians. But I run out of ideas.  One more thing special about Neo is that several symbols occur multiple times in the layout.  In particular, Tab occurs four times, Delete two times.  In the last couple of tests, did you always include Alt+F2 in your experiments (F2 occurs just once in the layout)?

In any event, it might be interesting to try all four Tabs.

> any other keystrokes to try?

Sure, anything you can think of and should be handled by KDE. Maybe comparing combinations that work to combinations that do not gives some idea.  It would be good to know which part of KDE handles the respective keystroke.  For example, Alt+Tab should be KWin, but Alt+F2 is probably a separate program.  Maybe different parts of KDE experience different problems.
Comment 14 Andreas Wettstein 2013-04-15 19:10:00 UTC
Regarding Alt+F2:

  https://bugs.kde.org/show_bug.cgi?id=213907

You could try the tip with killing and restarting krunner.
Comment 15 g.schlisio 2013-04-17 09:52:39 UTC
(In reply to comment #14)
> You could try the tip with killing and restarting krunner.

no success

(In reply to comment #13)

> In the last couple of
> tests, did you always include Alt+F2 in your experiments (F2 occurs just
> once in the layout)?

yes, always. its the one i miss most.

> In any event, it might be interesting to try all four Tabs.

what do you mean? i didnt get this.
 
> Sure, anything you can think of and should be handled by KDE. Maybe
> comparing combinations that work to combinations that do not gives some
> idea.  It would be good to know which part of KDE handles the respective
> keystroke.  For example, Alt+Tab should be KWin, but Alt+F2 is probably a
> separate program.  Maybe different parts of KDE experience different
> problems.

maybe i should take this do the kde bugtracker.
Comment 16 Andreas Wettstein 2013-04-17 19:42:57 UTC
> > In any event, it might be interesting to try all four Tabs.

> what do you mean? i didnt get this.

Tab is a keysym which for most layouts only appears on the TAB key.  For Neo, Tab also appears on the Num Lock key (on Level 1), and on the 8 and on the X key (on Level 5 = Ebene 4 Neo-speak).

Possibly, KWin is confused by multiple keys with Tab.  Actually, I could try with an ancient KDE version.  Starting from a usual layout that works, I could break Alt+Tab by the command

  xmodmap -e 'keycode 8 = Tab'

You can try this is as well.  However, I could not reproduce this failure with a Slax live CD and KDE 4.10.  But there, Alt+Tab also worked under Neo (using the TAB key; but the not using the Num Lock key).
Comment 17 g.schlisio 2013-04-18 10:11:11 UTC
(In reply to comment #16)
> Tab is a keysym which for most layouts only appears on the TAB key.  For
> Neo, Tab also appears on the Num Lock key (on Level 1), and on the 8 and on
> the X key (on Level 5 = Ebene 4 Neo-speak).

after setting Tab to NoSymbol in /usr/share/X11/xkb/symbols/de line 352 (deactivating Tab on Numlock) it works.
so, whose bug is this? kwin?
thank jou so much for your time.
Comment 18 Andreas Wettstein 2013-04-18 18:13:46 UTC
> after setting Tab to NoSymbol in /usr/share/X11/xkb/symbols/de line 352 (deactivating Tab on Numlock) it works.

Thank you for checking.

> so, whose bug is this? kwin?

Very probable, certainly not xkeyboard-config.

For a workaround, see http://wiki.neo-layout.org/ticket/129 at the end.  In addition to what is described there, you should replace the Tab (and ISO_Left_Tab) on AE08 and NMLK by 0x110000D as well.


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.