Hi all, I've finally found some time to investigate how to sort out how our (VMware's) mouse devices need to work with input hotplugging.
Our virtual usb mouse works fine with Xserver 1.5 and evdev 2.0.6 and input hotplug works correctly - the catch is purely on our end where we don't know when to connect the mouse device. We can't be indiscriminate because older versions of evdev handle it incorrectly, making it unusable. Our special PS/2 device, on the other hand, is in a bad state. There's an outstanding bug that prevents it working at all with Xserver 1.5 which I'll be checking a fix in for later today, but the larger question that I want to raise is how to hotplug it correctly. The mouse appears as a regular PS/2 mouse and detecting that it's the special vmmouse a is done completely out of band; we can't change how this works for compatibility reasons so I've got to make do. I'd like to get some input on the best way to handle this and on where this code should live. I've attached example fdi and callout script implementations (the vmmouse-detect binary that is referred to is debian/ubuntu specific but that can be folded into a hald-probe style binary or bundled elsewhere if desired) So, one option is to write hald-probe-vmmouse and include it with the main hal package. In that case, it would not actually set input.x11_driver, but some more generic property and then the x11-input fdi would check that property to set x11_driver. Alternatively it could live outside of hal - possibly with the X11 driver package itself, but I'm concerned about how successfully it would be deployed in that situation. Any thoughts or suggestions are much appreciated. Thanks! --phil
<?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.mouse"> <match key="input.originating_device" contains="i8042_AUX_port"> <append key="info.callouts.add" type="strlist">hal-probe-vmmouse</append> </match> </match> </device> </deviceinfo>
#!/bin/bash [ -x /usr/bin/hal-set-property ] || exit 0 [ -x /usr/bin/vmmouse_detect ] || exit 0 /usr/bin/vmmouse_detect if [ $? -eq 0 ]; then /usr/bin/hal-set-property --direct --udi "$UDI" --key input.x11_driver --string "vmmouse" fi
_______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg