[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#392911: Polytonic Greek keyboard map breaks ctrl-alt-F* vt switch sequence



On Sat, Oct 14, 2006 at 10:54:32AM +0200, Denis Barbier wrote:
> On Fri, Oct 13, 2006 at 11:37:38PM -0700, H. S. Teoh wrote:
> > Package: xkb-data
> > Version: 0.9-1
> > Severity: normal
> > 
> > Hi, after the latest upgrade, I found that I couldn't switch VT's
> > using the ctrl-alt-F* sequence anymore. After a bit of digging, I
> > discovered that it was because I was using the 'gr(polytonic)'
> > layout using XKB.  Removing that mapping from my XKB config fixed
> > the problem. This problem does not occur with monotonic Greek layout
> > ('gr' without the 'polytonic' variant).
> > 
> 
> Hi,
> 
> I cannot reproduce this bug, please send your XKB settings and the
> server-0.xkb file generated by running
>   $ xkbcomp :0
[...]

Hmm, `xkbcomp :0` gives no output.

I'm currently using setxkbmap to alternate between different keyboard
layouts. The working configuration is:

	setxkbmap us,ru -variant ,phonetic \
		-option grp:lwin_toggle,grp_led:scroll

(This is done from .Xsession, but can also be used from any X terminal
like xterm or rxvt.)

The non-working configuration is:

	setxkbmap us,ru,gr -variant ,phonetic,polytonic \
		-option grp:lwin_toggle,grp_led:scroll

I've tried it with non-polytonic Greek, and it also works:

	setxkbmap us,ru,gr -variant ,phonetic, \
		-option grp:lwin_toggle,grp_led:scroll

Basically, I use the left 'windows' key to toggle between us, ru, and
gr. The ctrl-alt sequence doesn't work when I specify gr(polytonic) to
setxkbmap, regardless of whether the current layout (selected by lwin)
is actually gr(polytonic) or not. I do get the right characters in
gr(polytonic); the only obvious problem is that the vt-switch sequence
doesn't work (it inserts carets and other symbols instead).

Anyway, I tried to capture the keyboard events using xev, hopefully this
will help you track down the problem. The following is from the
non-working configuration (run xev, type ctrl-alt-F1, which does
nothing, and quit xev):

------------------------------------------------------------------------

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196328814, (1021,765), root:(1022,766),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196328814, (1021,765), root:(1022,766),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196329991, (1021,765), root:(1022,766),
    state 0xc, keycode 67 (keysym 0xffbe, F1), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196330220, (1021,765), root:(1022,766),
    state 0xc, keycode 67 (keysym 0xffbe, F1), same_screen YES,
    XLookupString gives 0 bytes: 

KeyRelease event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196330351, (1021,765), root:(1022,766),
    state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 

KeyRelease event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196330384, (1021,765), root:(1022,766),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196331253, (1021,765), root:(1022,766),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

------------------------------------------------------------------------

The following is from the working configuration (run xev, type
ctrl-alt-F1, which switches to vt01, then alt-F7 to switch back to X,
then exit xev):


------------------------------------------------------------------------

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196543663, (1021,765), root:(1022,766),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196543663, (1021,765), root:(1022,766),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

VisibilityNotify event, serial 24, synthetic NO, window 0xc00001,
    state VisibilityFullyObscured

VisibilityNotify event, serial 24, synthetic NO, window 0xc00001,
    state VisibilityUnobscured

Expose event, serial 24, synthetic NO, window 0xc00001,
    (0,0), width 1022, height 10, count 3

Expose event, serial 24, synthetic NO, window 0xc00001,
    (0,10), width 10, height 58, count 2

Expose event, serial 24, synthetic NO, window 0xc00001,
    (68,10), width 954, height 58, count 1

Expose event, serial 24, synthetic NO, window 0xc00001,
    (0,68), width 1022, height 698, count 0

KeyRelease event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196548784, (1021,765), root:(1022,766),
    state 0xc, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 

KeyRelease event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196548784, (1021,765), root:(1022,766),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 

KeyPress event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196549100, (1021,765), root:(1022,766),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 24, synthetic NO, window 0xc00001,
    mode NotifyGrab, detail NotifyNonlinear

LeaveNotify event, serial 24, synthetic NO, window 0xc00001,
    root 0x4c, subw 0x0, time 1196549198, (1021,765), root:(1022,766),
    mode NotifyGrab, detail NotifyAncestor, same_screen YES,
    focus YES, state 4

------------------------------------------------------------------------

In the non-working configuration, the F1 is received by xev, but in the
working configuration, the F1 is not received by xev (probably
intercepted by the server and interpreted?).


T

-- 
The best way to destroy a cause is to defend it poorly.



Reply to: