Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
dbus and keymaps
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
slackline
Veteran
Veteran


Joined: 01 Apr 2005
Posts: 1471
Location: /uk/sheffield

PostPosted: Mon Jun 09, 2008 9:43 am    Post subject: dbus and keymaps Reply with quote

I've a strange problem that occurred recently and I've been unable to resolve properly.

I've a Microsoft Ergonomic Keyboard 4000...

lsusb -v:

Bus 003 Device 003: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000                                              V1.0
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x045e Microsoft Corp.
  idProduct          0x00db Natural Ergonomic Keyboard 4000 V1.0
  bcdDevice            1.73
  iManufacturer           1 Microsoft
  iProduct                2 Natural® Ergonomic Keyboard 4000
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      60
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      86
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)


My keymaps are..

more /etc/conf.d/keymaps:

# Use KEYMAP to specify the default console keymap.  There is a complete tree
# of keymaps in /usr/share/keymaps to choose from.
keymap="uk"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will
# say "yes" here.  Note that non-x86 users should leave it as "no".
windowkeys="YES"

# The maps to load for extended keyboards.  Most users will leave this as is.
extended_keymaps=""
#extended_keymaps="backspace keypad euro2"

# Tell dumpkeys(1) to interpret character action codes to be
# from the specified character set.
# This only matters if you set unicode="yes" in /etc/rc.conf.
# For a list of valid sets, run `dumpkeys --help`
dumpkeys_charset=""

# Some fonts map AltGr-E to the currency symbol ¤ instead of the Euro €
# To fix this, set to "yes"
fix_euro="NO"


and my xorg.conf looks like...

/etc/X11/xorg/conf:

Section "InputDevice"

    Identifier  "Keyboard1"
    Driver      "kbd"
    Option "AutoRepeat" "500 30"
    Option "XkbLayout"  "gb"

EndSection


Under tty1 the keymaps are fine, but under X (both Xfce4 and fluxbox) they keymap is for a US keyboard.

A little playing around revealed that there are three dbus process's running after booting...

ps -A | grep dbus:

# ps -A | grep dbus
 2706 ?        00:00:00 dbus-daemon
 8514 ?        00:00:00 dbus-launch
 8515 ?        00:00:00 dbus-daemon


and I thought it was a little strange that there were two dbus-daemon instances so I restarted dbus, which as its a boot service throws me out of X and back to my login. After this there is only one dbus instance and the keymap is the correct uk/gb configuration.

This is with dbus-1.2.1

Any thoughts on what might be happening here and how to resolve it would be appreciated as its a pain in the arse having to restart dbus on every boot.

Cheers

slack
_________________
"Science is what we understand well enough to explain to a computer.  Art is everything else we do." - Donald Knuth
Back to top
View user's profile Send private message
mziab
l33t
l33t


Joined: 01 Oct 2004
Posts: 644

PostPosted: Mon Jun 09, 2008 12:11 pm    Post subject: Reply with quote

Newer X versions ignore the keyboard settings from xorg.conf and get the proper info from hal. And it so happens that US is the default layout. You need to create your own policy and place it in /etc/hal/policy. You can see some examples here.
_________________
Gentoo Linux 13.0 | 3.19 | glibc 2.19 | gcc 4.9.2

mteam | mziab's blog | roslin
Back to top
View user's profile Send private message
slackline
Veteran
Veteran


Joined: 01 Apr 2005
Posts: 1471
Location: /uk/sheffield

PostPosted: Mon Jun 09, 2008 9:04 pm    Post subject: Reply with quote

Cool, will check that out, cheers for the pointer.

[EDIT] - Longer thread with more solutions here.

slack
_________________
"Science is what we understand well enough to explain to a computer.  Art is everything else we do." - Donald Knuth
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum