! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfce 4.6 overwrites X keyboard layout settings
Status:
RESOLVED: INVALID
Product:
Xfce4-settings
Component:
Keyboard Settings

Comments

Description marcin kowalski 2009-04-05 08:07:27 CEST
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)
-------------------------------------------------------------------
Comment 1 Olivier Fourdan editbugs 2009-04-05 12:17:43 CEST
xfce4-settings-helper will not change anything if "Use system defaults" is set in the Layout tab of the keyboard settings.

However it needs to initialize the libxklavier library and that might have some effect on your setup, but this is not a bug in xfce.

Can you build xfce4-settings without libxklavier support (pass --disable-libxklavier to the ./configure script)?
Comment 2 marcin kowalski 2009-04-05 17:07:29 CEST
this will have to wait until i have a hold of two keyboards (or a barcode scanner) again. 

i've already shipped the pc with barcode scanner to the customer.

i'll try tinkering with usb keyboard + ps/2 keyboard combination this week.
Comment 3 Eli 2011-11-22 14:35:10 CET
I'm getting a similar issue. My script to load the .Xmodmap keymap is not recognized when I place it as a startup application under "Session and Autostart".

I am using Debian 6.0.2 with xfce4.6.2.

The wiki also describes this as an issue: http://wiki.xfce.org/faq
Comment 4 Eli 2011-11-22 14:37:00 CET
sorry; wrong bug to post about.
Comment 5 Jérôme Guelfucci editbugs 2012-12-23 14:23:17 CET
Any news on this?
Comment 6 Simon Steinbeiss editbugs 2015-01-31 14:33:24 CET
Closing the bugreport as the problem cannot be reproduced. If you still encounter this bug, please feel free to reopen it and post ways to reproduce the issue.

Bug #5191

Reported by:
marcin kowalski
Reported on: 2009-04-05
Last modified on: 2015-01-31

People

Assignee:
Jannis Pohlmann
CC List:
6 users

Version

Attachments

Additional information