I went and tested a bunch of other mice that should have horizontal scrolling. All of them but the Kensington slimblade mouse have their horizontal scrolling converted into high speed vertical scrolling. The test results follow: A4Tech www-5 PS/2 dual scroll wheel mouse. lshal: udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' info.linux.driver = 'psmouse' (string) info.parent = '/org/freedesktop/Hal/devices/platform_i8042' (string) info.product = 'i8042 AUX port' (string) info.subsystem = 'serio' (string) info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'serio' (string) linux.sysfs_path = '/sys/devices/platform/i8042/serio1' (string) serio.description = 'i8042 AUX port' (string) serio.id = 'serio1' (string) udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' info.callouts.add = {'hal-probe-vmmouse'} (string list) info.capabilities = {'input', 'input.mouse'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) info.product = 'ImPS/2 Generic Wheel Mouse' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) input.product = 'ImPS/2 Generic Wheel Mouse' (string) input.x11_driver = 'evdev' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/platform/i8042/serio1/input/input7/event7' (string) xinput list: "ImPS/2 Generic Wheel Mouse" id=3 [XExtensionPointer] Num_buttons is 32 Num_axes is 2 Mode is Relative Motion_buffer is 256 Axis 0 : Min_value is -1 Max_value is -1 Resolution is 1 Axis 1 : Min_value is -1 Max_value is -1 Resolution is 1 xinput list-props: Device 'ImPS/2 Generic Wheel Mouse': Device Enabled: 1 Middle Button Emulation: 2 Middle Button Timeout: 50 Wheel Emulation Inertia: 10 Wheel Emulation: 0 Wheel Emulation X Axis: 0, 0 Wheel Emulation Y Axis: 4, 5 Wheel Emulation Timeout: 200 Wheel Emulation Button: 4 Drag Lock Buttons: 0 xinput test shows that horizontal scrolling shows up as doubled button 4 & 5 presses, virtical scrolling shows up as single button 4 & 5 presses. Swann Opti-Pro Optical Mouse lsusb: Bus 007 Device 008: ID 04b4:aef6 Cypress Semiconductor Corp. lshal: udi = '/org/freedesktop/Hal/devices/usb_device_4b4_aef6_noserial_if0_logicaldev_input' info.capabilities = {'input', 'input.mouse'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_4b4_aef6_noserial_if0' (string) info.product = 'Magic ball Mouse Magic ball Mouse' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_4b4_aef6_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_4b4_aef6_noserial_if0' (string) input.product = 'Magic ball Mouse Magic ball Mouse' (string) input.x11_driver = 'evdev' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.7/usb7/7-5/7-5.4/7-5.4:1.0/input/input7/event7' (string) xinput list: "Magic ball Mouse Magic ball Mouse" id=5 [XExtensionPointer] Num_buttons is 32 Num_axes is 2 Mode is Relative Motion_buffer is 256 Axis 0 : Min_value is -1 Max_value is -1 Resolution is 1 Axis 1 : Min_value is -1 Max_value is -1 Resolution is 1 xinput list-props: Device 'Magic ball Mouse Magic ball Mouse': Device Enabled: 1 Middle Button Emulation: 2 Middle Button Timeout: 50 Wheel Emulation Inertia: 10 Wheel Emulation: 0 Wheel Emulation X Axis: 0, 0 Wheel Emulation Y Axis: 4, 5 Wheel Emulation Timeout: 200 Wheel Emulation Button: 4 Drag Lock Buttons: 0 xinput test shows virtical scrolling as single button 4 & 5 presses, horizontal scrolling shows up as button 4 & 5 presses repeated 7 times. Compaq CPQ650TP lsusb: Bus 007 Device 009: ID 0f62:1001 Acrox Technologies Co., Ltd Targus Mini Trackball Optical Mouse lshal: udi = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0_logicaldev_input' info.capabilities = {'input', 'input.mouse'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0' (string) info.product = 'Acrox USB & PS/2 Mouse' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0' (string) input.product = 'Acrox USB & PS/2 Mouse' (string) input.x11_driver = 'evdev' (string) input.x11_options.XAxisMapping = '6 7' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.7/usb7/7-5/7-5.3/7-5.3:1.0/input/input8/event7' (string) xinput list: "Acrox USB & PS/2 Mouse" id=5 [XExtensionPointer] Num_buttons is 32 Num_axes is 2 Mode is Relative Motion_buffer is 256 Axis 0 : Min_value is -1 Max_value is -1 Resolution is 1 Axis 1 : Min_value is -1 Max_value is -1 Resolution is 1 xinput list-props: (udi file is altering some parameters here) Device 'Acrox USB & PS/2 Mouse': Device Enabled: 1 Middle Button Emulation: 2 Middle Button Timeout: 50 Wheel Emulation Inertia: 10 Wheel Emulation: 0 Wheel Emulation X Axis: 6, 7 Wheel Emulation Y Axis: 4, 5 Wheel Emulation Timeout: 200 Wheel Emulation Button: 4 Drag Lock Buttons: 0 xinput test shows virtical scrolling as single button 4 & 5 presses, horizontal scrolling shows up as button 4 & 5 presses repeated 7 times. Compaq CPQ750TP lsusb: Bus 007 Device 010: ID 0f62:1001 Acrox Technologies Co., Ltd Targus Mini Trackball Optical Mouse lshal: udi = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0_logicaldev_input' info.capabilities = {'input', 'input.mouse'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0' (string) info.product = 'Acrox USB & PS/2 Mouse' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_f62_1001_noserial_if0' (string) input.product = 'Acrox USB & PS/2 Mouse' (string) input.x11_driver = 'evdev' (string) input.x11_options.XAxisMapping = '6 7' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.7/usb7/7-5/7-5.3/7-5.3:1.0/input/input9/event7' (string) xinput list: "Acrox USB & PS/2 Mouse" id=5 [XExtensionPointer] Num_buttons is 32 Num_axes is 2 Mode is Relative Motion_buffer is 256 Axis 0 : Min_value is -1 Max_value is -1 Resolution is 1 Axis 1 : Min_value is -1 Max_value is -1 Resolution is 1 xinput list-props: Device 'Acrox USB & PS/2 Mouse': Device Enabled: 1 Middle Button Emulation: 2 Middle Button Timeout: 50 Wheel Emulation Inertia: 10 Wheel Emulation: 0 Wheel Emulation X Axis: 6, 7 Wheel Emulation Y Axis: 4, 5 Wheel Emulation Timeout: 200 Wheel Emulation Button: 4 Drag Lock Buttons: 0 xinput test shows virtical scrolling as single button 4 & 5 presses, horizontal scrolling shows up as button 4 & 5 presses repeated 7 times. Compaq CPQ850TP lsusb: Bus 007 Device 007: ID 04b4:6370 Cypress Semiconductor Corp. ViewMate Desktop Mouse CC2201 lshal: udi = '/org/freedesktop/Hal/devices/usb_device_4b4_6370_noserial_if0_logicaldev_input' info.capabilities = {'input', 'input.mouse'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_4b4_6370_noserial_if0' (string) info.product = 'Acrox Acrox RF Ball Mouse' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_4b4_6370_noserial_if0_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_4b4_6370_noserial_if0' (string) input.product = 'Acrox Acrox RF Ball Mouse' (string) input.x11_driver = 'evdev' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.7/usb7/7-5/7-5.3/7-5.3:1.0/input/input11/event7' (string) xinput list: "Acrox Acrox RF Ball Mouse" id=5 [XExtensionPointer] Num_buttons is 32 Num_axes is 2 Mode is Relative Motion_buffer is 256 Axis 0 : Min_value is -1 Max_value is -1 Resolution is 1 Axis 1 : Min_value is -1 Max_value is -1 Resolution is 1 xinput list-props: Device 'Acrox Acrox RF Ball Mouse': Device Enabled: 1 Middle Button Emulation: 2 Middle Button Timeout: 50 Wheel Emulation Inertia: 10 Wheel Emulation: 0 Wheel Emulation X Axis: 0, 0 Wheel Emulation Y Axis: 4, 5 Wheel Emulation Timeout: 200 Wheel Emulation Button: 4 Drag Lock Buttons: 0 xinput test shows virtical scrolling as single button 4 & 5 presses, horizontal scrolling shows up as button 4 & 5 presses repeated 7 times. Kensington Slimblade Media M01004-M lsusb: Bus 007 Device 011: ID 047d:1076 Kensington SlimBlade Media Mouse lshal: udi = '/org/freedesktop/Hal/devices/usb_device_47d_1076_noserial_logicaldev_input' info.addons.singleton = {'hald-addon-input'} (string list) info.callouts.add = {'debian-setup-keyboard'} (string list) info.capabilities = {'input', 'input.keys', 'input.mouse', 'button'} (string list) info.category = 'input' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_47d_1076_noserial' (string) info.product = 'Primax Kensington SlimBlade Media Mouse' (string) info.subsystem = 'input' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_47d_1076_noserial_logicaldev_input' (string) input.device = '/dev/input/event7' (string) input.originating_device = '/org/freedesktop/Hal/devices/usb_device_47d_1076_noserial' (string) input.product = 'Primax Kensington SlimBlade Media Mouse' (string) input.x11_driver = 'evdev' (string) input.xkb.layout = 'us' (string) input.xkb.model = 'pc105' (string) input.xkb.options = 'lv3:ralt_switch' (string) input.xkb.rules = 'evdev' (string) input.xkb.variant = 'dvorak' (string) linux.device_file = '/dev/input/event7' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'input' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1a.7/usb7/7-5/7-5.3/7-5.3:1.0/input/input15/event7' (string) xinput list: "Primax Kensington SlimBlade Media Mouse" id=5 [XExtensionKeyboard] Num_keys is 248 Min_keycode is 8 Max_keycode is 255 Num_buttons is 32 Num_axes is 2 Mode is Relative Motion_buffer is 256 Axis 0 : Min_value is -1 Max_value is -1 Resolution is 1 Axis 1 : Min_value is -1 Max_value is -1 Resolution is 1 xinput list-props: Device 'Primax Kensington SlimBlade Media Mouse': Device Enabled: 1 Middle Button Emulation: 2 Middle Button Timeout: 50 Wheel Emulation Inertia: 10 Wheel Emulation: 0 Wheel Emulation X Axis: 0, 0 Wheel Emulation Y Axis: 4, 5 Wheel Emulation Timeout: 200 Wheel Emulation Button: 4 Drag Lock Buttons: 0 xinput shows virtical scrolling as single button 4 & 5 presses, horizontal scrolling as single button 6 & 7 presses.