[Xfce-bugs] [Bug 5191] New: xfce 4.6 overwrites X keyboard layout settings

bugzilla-daemon at xfce.org bugzilla-daemon at xfce.org
Sun Apr 5 10:07:28 CEST 2009


http://bugzilla.xfce.org/show_bug.cgi?id=5191

           Summary: xfce 4.6 overwrites X keyboard layout settings
           Product: Xfce
           Version: 4.6.0
          Platform: PC (x86)
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Low
         Component: general
        AssignedTo: xfce-bugs at xfce.org
        ReportedBy: yoshi314 at gmail.com


first, a short intro to the problem.

i'm setting up a czech computer. it has a usb keyboard and a usb barcode
scanner.

the thing is, in czech keyboard layout pressing the 1234567890 keys (those
below F1, F2, F3..., not the ones from numeric keypad) you get czech
characters. you need to press shift+1,shift+2, etc to get actual numbers in
that layout (or turn on numlock and use numeric keypad). 

since any workaround configured on the scanner didn't seem to help, i tried to
set up devices by hal as follows : 

---------------------------------------------------------------------
/etc/hal/fdi/policy/10-keymap.fdi

<?xml version=„1.0” encoding=„ISO-8859-1”?> <!— * SGML * —>

<deviceinfo version=„0.2”>

<!-- barcode scanner, polish layout -->
  <device>
    <match key=„info.capabilities” contains=„input.keymap”>
      <append key=„info.callouts.add” type=„strlist”>hal-setup-keymap</append>
    </match>

<match key=„input.product” contains=„Symbol”>
    <merge key=„input.xkb.rules” type=„string”>base</merge>
    <merge key=„input.xkb.model” type=„string”>keyboard</merge>
    <match key=”/org/freedesktop/Hal/devices/computer:system.kernel.name”
string=„Linux”>
    <merge key=„input.xkb.model” type=„string”>evdev</merge>
    <merge key=„input.xkb.layout” type=„string”>pl</merge>
    <merge key=„input.xkb.variant” type=„string” />
    </match>

</match>
</device>

<!-- keyboard, czech layout-->
  <device>
    <match key=„info.capabilities” contains=„input.keymap”>
      <append key=„info.callouts.add” type=„strlist”>hal-setup-keymap</append>
    </match>

    <match key=„input.product” contains=„keyboard”>
      <merge key=„input.xkb.rules” type=„string”>base</merge>

      <!— If we’re using Linux, we use evdev by default (falling back to
           keyboard otherwise). —>
      <merge key=„input.xkb.model” type=„string”>keyboard</merge>
      <match key=”/org/freedesktop/Hal/devices/computer:system.kernel.name”
             string=„Linux”>
        <merge key=„input.xkb.model” type=„string”>evdev</merge>
      </match>
      <merge key=„input.xkb.layout” type=„string”>cz</merge>
      <merge key=„input.xkb.variant” type=„string” />
    </match>

  </device>
</deviceinfo>
----------------------------------------------------------------
xorg.conf fragment : 

(......)
Section "ServerFlags"
        Option "AutoAddDevices" "True"
EndSection
(.......)
----------------------------------------------------------------

i've set up in xfce keyboard preferences to use system settings. and it shows
that it uses a evdev configured keyboard.


==========================================================================
the problem :

when i start X with bare xterm - it works as expected. barcode scanner works in
polish layout and returns digits instead of czech characters. keyboard works in
czech layout.

when i run windowmaker - it also works as expected. 

in xfce - both devices use the same layout (usually the czech one).

X logs show that evdev is picking up both devices and assigning keyboard
layouts to them correctly. therefore, i think something wrong is going on with
xfce keyboard layout management, even if set to "system settings"

extra info : 
-------------------------------------------------------------------
# lshal | grep input | grep product
  input.product = 'Macintosh mouse button emulation'  (string)
  input.product = 'Power Button (CM)'  (string)
  input.product = 'Power Button (FF)'  (string)
  input.product = 'PC Speaker'  (string)
  input.product = 'AT Translated Set 2 keyboard'  (string)
  input.product = '?Symbol Technologies, Inc, 2002 Symbol Bar Code Scanner' 
(string)
  input.product = 'Logitech USB-PS/2 Optical Mouse'  (string)
-------------------------------------------------------------------

-- 
Configure bugmail: http://bugzilla.xfce.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Xfce-bugs mailing list