ctrl+<key> incorrect/missing keycodes with dvorak layout
Dieter Plaetinck
dieter at plaetinck.be
Tue Nov 25 02:03:59 PST 2008
Hi again list,
I still haven't managed to figure this one out. the resulting keycodes
when holding control are 'weird', to say at least.
Any help is appreciated.
Dieter Plaetinck wrote:
> Hi list,
> I'm using:
> xorg 7.4
> xorg-server 1.5.3
> xkeyboard-config 1.4
>
> I'm using a regular ps/2 azerty keyboard but with dvorak layout. The
> problem is the dvorak layout by itself works fine, but when I press (and
> hold) ctrl the other buttons behave totally differently, some seem to be
> qwerty again but sometimes it's even different.
> I test this in urxvt and xterm, so no gtk or gnome is involved (not that
> I know)
> Examples: (xev output follows later)
> * ctrl+c becomes ctrl+i (dvorak c is on qwerty i)
> * ctrl+j on dvorak does not become ctrl+c (what it would be in qwerty).
> * ctrl+a only produces thew ctrl character.
>
> I have this problem both with hal hotplugging and with the classic
> method (autoadddevices false).
> I have this with both layout dvorak and dvorak-intl.
> setxkbmap -layout dvorak[-intl] doesn't change anything
>
> dieter at dieter-ws ~ $ setxkbmap -v
> Trying to build keymap using the following components:
> keycodes: xfree86+aliases(qwerty)
> types: complete
> compat: complete
> symbols: pc+us(dvorak-intl)
> geometry: pc(pc104)
>
> ( I posted my xorg.conf and fdi file here:
> http://bbs.archlinux.org/viewtopic.php?pid=451182#p451182 )
>
> dieter at dieter-ws ~ $xmodmap -pke # some relevant keys
> keycode 31 = c C c C ccedilla dead_abovedot
> keycode 38 = a A a A agrave
> keycode 39 = o O o O ocircumflex
> keycode 40 = e E e E eacute
> keycode 41 = u U u U ucircumflex
> keycode 42 = i I i I icircumflex
>
>
> And now, the xev's:
>
> * xev ctrl+c (press+hold ctrl, press c, release c, release ctrl !)
> KeyPress event, serial 32, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1817959, (170,-29), root:(196,66),
> state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XmbLookupString gives 0 bytes:
> XFilterEvent returns: False
>
> FocusOut event, serial 32, synthetic NO, window 0x1c00001,
> mode NotifyGrab, detail NotifyAncestor
>
> FocusIn event, serial 32, synthetic NO, window 0x1c00001,
> mode NotifyUngrab, detail NotifyAncestor
>
> KeymapNotify event, serial 32, synthetic NO, window 0x0,
> keys: 4294967176 0 0 0 32 0 0 0 0 0 0 0 0
> 0 0 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1820112, (170,-29), root:(196,66),
> state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XFilterEvent returns: False
>
>
>
> * xev ctrl+j
>
> KeyPress event, serial 29, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1240357, (171,-26), root:(197,69),
> state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XmbLookupString gives 0 bytes:
> XFilterEvent returns: False
>
> KeyPress event, serial 32, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1241550, (171,-26), root:(197,69),
> state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
> XLookupString gives 1 bytes: (0a) "
> "
> XmbLookupString gives 1 bytes: (0a) "
> "
> XFilterEvent returns: False
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1241644, (171,-26), root:(197,69),
> state 0x14, keycode 54 (keysym 0x6a, j), same_screen YES,
> XLookupString gives 1 bytes: (0a) "
> "
> XFilterEvent returns: False
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1242297, (171,-26), root:(197,69),
> state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XFilterEvent returns: False
>
>
> * xev ctrl+a (press+hold ctrl, press a, release a, release ctrl !)
>
> KeyPress event, serial 29, synthetic NO, window 0x1800001,
> root 0x188, subw 0x0, time 16768525, (171,-26), root:(185,38),
> state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XmbLookupString gives 0 bytes:
> XFilterEvent returns: False
>
> FocusOut event, serial 32, synthetic NO, window 0x1800001,
> mode NotifyGrab, detail NotifyAncestor
>
> FocusIn event, serial 32, synthetic NO, window 0x1800001,
> mode NotifyUngrab, detail NotifyAncestor
>
> KeymapNotify event, serial 32, synthetic NO, window 0x0,
> keys: 4294967290 0 0 0 32 0 0 0 0 0 0 0 0 0
> 0 0
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>
> KeyRelease event, serial 32, synthetic NO, window 0x1800001,
> root 0x188, subw 0x0, time 16770786, (171,-26), root:(185,38),
> state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
> XLookupString gives 0 bytes:
> XFilterEvent returns: False
>
>
> * xev a:
> KeyPress event, serial 29, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1778583, (166,-26), root:(192,69),
> state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
> XLookupString gives 1 bytes: (61) "a"
> XmbLookupString gives 1 bytes: (61) "a"
> XFilterEvent returns: False
>
> KeyRelease event, serial 32, synthetic NO, window 0x1c00001,
> root 0x188, subw 0x0, time 1778694, (166,-26), root:(192,69),
> state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
> XLookupString gives 1 bytes: (61) "a"
> XFilterEvent returns: False
>
>
>
> Is there anyone who understands anything of this?
> Thanks,
> Dieter
>
>
More information about the xorg
mailing list