<?xml version="1.0" encoding="UTF-8"?> <deviceinfo version="0.2"> <device> <!-- The way this works: Match against some input device (see the HAL specification for more information), and then merge in keys, which you can use to specify the configuration similar to the way you would in xorg.conf. You will need to restart HAL after making changes. If you are having issues, starting X with the -logverbose 7 flag may yield useful information. Keys Supported: Key "input.x11_driver" (string) This specifies the driver to use. You MUST specify this option, or a driver will not be loaded and the rest will be ignored by Xorg Key "input.x11_options.<option name>" (string) This allows you to specify arbitrary options to pass to the driver. Anything you would normally specify in xorg.conf goes here. So, for option "Mode" in xorg.conf, you would specify the key name of "input.x11_options.Mode". Do not specify "input.x11_options.Device" since "input.device" will be used automatically. You MUST specify all options as strings, otherwise the server will ignore them. Legacy Keys "input.xkb.rules" "input.xkb.model" "input.xkb.layout" "input.xkb.variant" "input.xkb.options" These keys are deprecated. Use these instead: "input.x11_options.XkbRules" "input.x11_options.XkbModel" "input.x11_options.XkbLayout" "input.x11_options.XkbVariant" "input.x11_options.XkbOptions" See the evdev documentation for more information. FIXME: Support tablets too. TODO: I think its fixed, can't test --> <match key="info.capabilities" contains="input.mouse"> <merge key="input.x11_driver" type="string">mouse</merge> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <merge key="input.x11_driver" type="string">evdev</merge> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="SunOS"> <match key="input.device" contains="usb"> <merge key="input.x11_options.StreamsModule" type="string">usbms</merge> <merge key="input.x11_options.Protocol" type="string">VUID</merge> </match> </match> </match> <match key="info.capabilities" contains="input.keys"> <merge key="input.x11_options.XkbRules" type="string">base</merge> <!-- If we're using Linux, we use evdev by default (falling back to kbd otherwise). --> <merge key="input.x11_driver" type="string">kbd</merge> <merge key="input.x11_options.XkbModel" type="string">pc105</merge> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux"> <merge key="input.x11_driver" type="string">evdev</merge> <merge key="input.x11_options.XkbModel" type="string">evdev</merge> </match> <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="SunOS"> <match key="input.device" contains="usb"> <merge key="input.x11_options.StreamsModule" type="string">usbkbm</merge> <merge key="input.x11_options.Protocol" type="string">VUID</merge> </match> </match> <merge key="input.x11_options.XkbLayout" type="string">us</merge> <merge key="input.x11_options.XkbVariant" type="string" /> </match> </device> </deviceinfo>