[Pkg-xfce-devel] Bug#490410: xfce4-xkb-plugin: Same issue with us, cz keyboard layout, more details, workaround

Jan Capek jen at jikos.cz
Sat Aug 16 20:33:23 UTC 2008


Package: xfce4-xkb-plugin
Version: 0.4.3-1
Followup-For: Bug #490410

Hi,

I have just experienced the same bug using a combination of us and cs 
layout. This is the relevant part of the my xorg.conf:
Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"microsoftprousb"
    	Option    	"XkbLayout"     "us,cz"
    	Option    	"XkbVariant"    ",qwerty"
    	Option    	"XkbOptions"    
"grp:alt_shift_toggle,grp_led:scroll"
EndSection

I have played with the sources a bit and have loaded the xkb plugin into 
gdb and have found out the following:

- upon startup in xkb.c::initialize_xkb(), the plugin tries to fill two 
arrays(group_names and symbol_names) based on data provided by the xkb 
extension. The contents of these arrays differs depending on whether the 
instance of the xkb plugin comes from a the actual startup of the entire 
xfce4 environment or if I RESTART xfce4panel.

- after launching xfce4 via startx. The arrays contain information for 
the US keyboard only:
(gdb) p group_names
$16 = {0x1819eb0 "USA", 0x0, 0x0, 0x0}
(gdb) p symbol_names 
$18 = {0x181a410 "US", 0x0, 0x0, 0x0}
(gdb) c
Continuing.

- after restarting the xfce4-panel (thus reloading the xkb plugin), I 
can see the arrays already contain the expected values:
Breakpoint 11, handle_xevent (ctrl=0x1541ef0) at xkb.c:411
(gdb) p group_names 
$19 = {0x1581f80 "USA", 0x1581de0 "Czechia - qwerty", 0x0, 0x0}
(gdb) p symbol_names 
$20 = {0x1582570 "US", 0x1582590 "CZ", 0x0, 0x0}


Could this be some kind of race between the X server loading both 
layouts and the xfce4 startup, or something like that? The plugin's 
initialization function that loads the above arrays is very messy and 
seems to contain quite a few hacks and workaround. I can investigate 
further but I am not an xkb guru.

Actually, I currently need some workaround for this - something like 
restart xfce4-panel as xfce4 runs on my parent's machine and they are 
really getting confused on seeing (null) instead of the flag..

Best regards and thanks for any info,

Jan


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.26-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages xfce4-xkb-plugin depends on:
ii  libatk1.0-0                   1.22.0-1   The ATK accessibility toolkit
ii  libc6                         2.7-13     GNU C Library: Shared libraries
ii  libcairo2                     1.6.4-6    The Cairo 2D vector graphics libra
ii  libfontconfig1                2.6.0-1    generic font configuration library
ii  libglib2.0-0                  2.16.5-1   The GLib library of C routines
ii  libgtk2.0-0                   2.12.11-3  The GTK+ graphical user interface 
ii  libpango1.0-0                 1.20.5-1   Layout and rendering of internatio
ii  libx11-6                      2:1.1.4-2  X11 client-side library
ii  libxcursor1                   1:1.1.9-1  X cursor management library
ii  libxext6                      2:1.0.4-1  X11 miscellaneous extension librar
ii  libxfce4util4                 4.4.2-3    Utility functions library for Xfce
ii  libxfcegui4-4                 4.4.2-4    Basic GUI C functions for Xfce4
ii  libxfixes3                    1:4.0.3-2  X11 miscellaneous 'fixes' extensio
ii  libxi6                        2:1.1.3-1  X11 Input extension library
ii  libxinerama1                  2:1.0.3-2  X11 Xinerama extension library
ii  libxrandr2                    2:1.2.3-1  X11 RandR extension library
ii  libxrender1                   1:0.9.4-2  X Rendering Extension client libra
ii  xfce4-panel                   4.4.2-6    The Xfce4 desktop environment pane

xfce4-xkb-plugin recommends no packages.

xfce4-xkb-plugin suggests no packages.

-- no debconf information





More information about the Pkg-xfce-devel mailing list