Package: hal Version: 0.5.12~git20090406.46dc48-2 Severity: important Yesterday I've upgraded my X.org from 7.3 to 7.4 which included the removal of static kbd/mouse device configuration and their replacement with evdev devices which get their information from HAL.
The net effect was that while the mouse still works, the keyboard doesn't fully work. Some keys work without problems (e.g. enter), while usual characters need to be input together with a trailing space key to show up in order. Otherwise, the key code is alternating constantly. To demonstrate the problem: input = 444444 -> output = 4$4$4$ input = 4 4 4 4 4 4 -> output = 444444 The alternation was also checked with xev (Or rather: x e v ) with several terminals and window managers just to make sure that it's not related to these. It's not. The key release event is always carrying the same key code and is therefore not affected by the alternation. Using the same example as above: press(34) release(24) press(24) release(24) press(34) release(24)... This makes X11 completely unusable for me. The text console still works, though. If you believe that due to this it is an evdev issue, please reassign. Nevertheless I suspect HAL of being the problem here. When I plug in an external USB keyboard, it is registered twice instead of once. The following two sections from lshal show that both event12 and event13 are registered for the external keyboard, while event0 to event11 are all spurious other keyboard devices which I'll list further down. When checking the created device nodes manually, e.g. cat /dev/input/eventX, only event12 returns something for the external keyboard and only event1 for the internal keyboard. udi = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if1_logicaldev_input' info.addons.singleton = {'hald-addon-input'} (string list) info.callouts.add = {'debian-setup-keyboard'} (string list) info.capabilities = {'input', 'input.keys', 'button'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if1' (string) info.product = 'Chicony USB Keyboard' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if1_logicaldev_input' (string) input.device = '/dev/input/event13' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if1' (string) input.product = 'Chicony USB Keyboard' (string) input.x11_driver = 'evdev' (string) input.xkb.layout = 'de' (string) input.xkb.model = 'pc105' (string) input.xkb.rules = 'base' (string) linux.device_file = '/dev/input/event13' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.1/input/input13/event13' (string) udi = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if0_logicaldev_input' info.addons.singleton = {'hald-addon-input'} (string list) info.callouts.add = {'debian-setup-keyboard'} (string list) info.capabilities = {'input', 'input.keyboard', 'input.keypad', 'input.keys', 'button'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if0' (string) info.product = 'Chicony USB Keyboard' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event12' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_4f2_402_noserial_if0' (string) input.product = 'Chicony USB Keyboard' (string) input.x11_driver = 'evdev' (string) input.xkb.layout = 'de' (string) input.xkb.model = 'pc105' (string) input.xkb.rules = 'base' (string) linux.device_file = '/dev/input/event12' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input12/event12' (string) Here's the abbreviated list of other devices registered as a keyboard: input.product = 'Fujitsu FUJ02B1' (string) input.product = 'Video Bus' (string) input.product = 'Fujitsu FUJ02E3' (string) input.product = 'Macintosh mouse button emulation' (string) input.product = 'SynPS/2 Synaptics TouchPad' (string) input.product = 'PS/2 Generic Mouse' (string) input.product = 'AT Translated Set 2 keyboard' (string) In particular, I don't see what a video bus is doing there. The Fujitsu keys could be special multimedia keys which seem to return XF86Launch1-4 keycodes with xev (as opposed to returning nothing with earlier kernels). There are four such keys though, and two Fujitsu devices registered. If you need the full list I can send it, but I guess the next step would be to evaluate if it's indeed HAL's fault or evdev's or the kernel's. All of these components are installed with their latest versions from unstable. I've also tried returning to manual device detection as described in the blog entry linked from the Xorg NEWS.Debian file. However, adding AutoAddDevices "off" to the Xorg ServerLayout section was claimed to be an unknown command by Xorg. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.29-2-amd64 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages hal depends on: ii acl 2.2.47-2 Access control list utilities ii adduser 3.107 add and remove users and groups ii consolekit 0.3.0-2 framework for defining and trackin ii dbus 1.2.14-2 simple interprocess messaging syst ii hal-info 20090309-1 Hardware Abstraction Layer - fdi f ii libc6 2.9-4 GNU C Library: Shared libraries ii libdbus-1-3 1.2.1-2 simple interprocess messaging syst ii libdbus-glib-1-2 0.80-3 simple interprocess messaging syst ii libexpat1 2.0.1-4 XML parsing C library - runtime li ii libgcc1 1:4.3.2-1 GCC support library ii libglib2.0-0 2.20.0-2 The GLib library of C routines ii libhal-storage1 0.5.11-2 Hardware Abstraction Layer - share ii libhal1 0.5.11-1 Hardware Abstraction Layer - share ii libpolkit2 0.9-3 library for accessing PolicyKit ii libsmbios2 2.0.3.dfsg-1 Provide access to (SM)BIOS informa ii libstdc++6 4.3.2-1 The GNU Standard C++ Library v3 ii libusb-0.1-4 2:0.1.12-11 userspace USB programming library ii libvolume-id1 0.141-1 libvolume_id shared library ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip ii mount 2.13.1.1-1 Tools for mounting and manipulatin ii pciutils 1:3.0.0-4 Linux PCI Utilities ii pm-utils 1.1.0-1 utilities and scripts for power ma ii policykit 0.9-3 framework for managing administrat ii udev 0.141-1 /dev/ and hotplug management daemo ii usbutils 0.73-8 Linux USB utilities Versions of packages hal recommends: ii eject 2.1.5-8 ejects CDs and operates CD-Changer pn libsmbios-bin <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org