Problems with evdev driver for keyboard

Dmitry Dzhus mail at sphinx.net.ru
Wed Dec 26 07:37:10 PST 2007


Seems like I've managed to write appropriate policy files for HAL.

In `/etc/hal/fdi/policy/x11-input.fdi`:

    <?xml version="1.0" encoding="UTF-8"?>
    <deviceinfo version="0.2">
      <device>
        <match key="info.capabilities" contains="input.mouse">
          <merge key="input.x11_driver" type="string">evdev</merge>
        </match>

        <match key="info.product" contains="Microsoft Natural">
          <merge key="input.xkb.rules" type="string">xorg</merge>
          <merge key="input.x11_driver" type="string">evdev</merge>
          <merge key="input.xkb.model" type="string">evdev</merge>
          <merge key="input.xkb.variant" type="string">,winkeys</merge>
          <merge key="input.xkb.layout" type="string">us,ru</merge>
          <merge key="input.xkb.options" type="string">grp:caps_toggle,grp_led:caps,compose:ralt</merge>
        </match>
      </device>
    </deviceinfo>

HAL daemon set all the values correctly:

    ~ $ hal-find-by-capability --capability 'input.keyboard'
    /org/freedesktop/Hal/devices/usb_device_45e_db_noserial_if1_logicaldev_input
    /org/freedesktop/Hal/devices/usb_device_45e_db_noserial_if0_logicaldev_input
    ~ $ hal-device usb_device_45e_db_noserial_if0_logicaldev_input | grep xkb
      input.xkb.model = 'evdev'  (string)
      input.xkb.rules = 'xorg'  (string)
      input.xkb.layout = 'us,ru'  (string)
      input.xkb.options = 'grp:caps_toggle,grp_led:caps,compose:ralt'  (string)
      input.xkb.variant = ',winkeys'  (string)
    ~ $ hal-device usb_device_45e_db_noserial_if0_logicaldev_input | grep x11
      input.x11_driver = 'evdev'  (string)
      
    (the same for the second event device)
    
In `xorg.conf` I've deleted all `InputDevice` sections and removed all
references to them in `ServerLayout` section. I've also added
`AllowEmptyInput` option to `ServerFlags`.

GDM loads, I enter username and in window manager keyboard isn't working
again.

`Xorg.0.log` ends with:

    (**) PS2++ Logitech Wheel Mouse: always reports core events
    (II) PS2++ Logitech Wheel Mouse: Found 3 relative axes.
    (II) PS2++ Logitech Wheel Mouse: Configuring as pointer.
    (II) PS2++ Logitech Wheel Mouse: Found 4 mouse buttons
    (II) PS2++ Logitech Wheel Mouse: Configured 7 mouse buttons.
    (II) XINPUT: Adding extended input device "PS2++ Logitech Wheel Mouse" (type: MOUSE)
    (**) PS2++ Logitech Wheel Mouse: 2 valuators.
    (**) PS2++ Logitech Wheel Mouse: Configuring in Absolute mode.
    (**) PS2++ Logitech Wheel Mouse: Registering 7 buttons.
    (II) PS2++ Logitech Wheel Mouse: Init
    (II) PS2++ Logitech Wheel Mouse: On
    (**) Microsoft Natural? Ergonomic Keyboard 4000: always reports core events
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Found 1 absolute axes.
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Configuring as pointer.
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Found 1 relative axes.
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Configuring as pointer.
    (**) Microsoft Natural? Ergonomic Keyboard 4000: Configuring 1 absolute axes.
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Checking button DIGI_STYLUS (74)
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Checking bit 330
    (EE) Microsoft Natural? Ergonomic Keyboard 4000: AbsoluteTouch: 'DIGI_Touch' does not exist.
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Found 1 mouse buttons
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Configured 18 mouse buttons.
    (**) Option "xkb_model" "evdev"
    (**) Option "xkb_layout" "us,ru"
    (**) Option "xkb_variant" ",winkeys"
    (II) XINPUT: Adding extended input device "Microsoft Natural? Ergonomic Keyboard 4000" (type: KEYBOARD)
    (**) Microsoft Natural? Ergonomic Keyboard 4000: 1 valuators.
    (**) Microsoft Natural? Ergonomic Keyboard 4000: Configuring in Absolute mode.
    (**) Microsoft Natural? Ergonomic Keyboard 4000: Registering 18 buttons.
    evdev: leds are 0x0 for device 3
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Init
    (II) Microsoft Natural? Ergonomic Keyboard 4000: On
    (**) Microsoft Natural? Ergonomic Keyboard 4000: always reports core events
    (**) Option "xkb_model" "evdev"
    (**) Option "xkb_layout" "us,ru"
    (**) Option "xkb_variant" ",winkeys"
    (II) XINPUT: Adding extended input device "Microsoft Natural? Ergonomic Keyboard 4000" (type: KEYBOARD)
    evdev: leds are 0x0 for device 4
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Init
    (II) Microsoft Natural? Ergonomic Keyboard 4000: On
    evdev: leds are 0x0 for device 3
    evdev: leds are 0x0 for device 4
    evdev: leds are 0x0 for device 3
    evdev: leds are 0x0 for device 4
    evdev: leds are 0x0 for device 3
    evdev: leds are 0x0 for device 4
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Off
    (II) Microsoft Natural? Ergonomic Keyboard 4000: Off
    (II) PS2++ Logitech Wheel Mouse: Off

It's also weird that last line says something about `Mouse: Off` but my
mouse works quite okay even after I've logged in (in GDM). Lot's of LED
chit-chat is also noticeable.

Is is a bug in `evdev(4x)` driver or I've just misconfigured something?
    
-- 
Happy Hacking.

http://sphinx.net.ru


More information about the xorg mailing list