1*4882a593Smuzhiyun<?xml version="1.0" encoding="UTF-8"?> 2*4882a593Smuzhiyun<deviceinfo version="0.2"> 3*4882a593Smuzhiyun <device> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun <!-- The way this works: 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun Match against some input device (see the HAL specification for more 8*4882a593Smuzhiyun information), and then merge in keys, which you can use to specify 9*4882a593Smuzhiyun the configuration similar to the way you would in xorg.conf. You will 10*4882a593Smuzhiyun need to restart HAL after making changes. If you are having issues, 11*4882a593Smuzhiyun starting X with the -logverbose 7 flag may yield useful information. 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun Keys Supported: 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun Key "input.x11_driver" (string) 16*4882a593Smuzhiyun This specifies the driver to use. You MUST specify this option, 17*4882a593Smuzhiyun or a driver will not be loaded and the rest will be ignored by 18*4882a593Smuzhiyun Xorg 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun Key "input.x11_options.<option name>" (string) 21*4882a593Smuzhiyun This allows you to specify arbitrary options to pass to the driver. 22*4882a593Smuzhiyun Anything you would normally specify in xorg.conf goes here. So, for 23*4882a593Smuzhiyun option "Mode" in xorg.conf, you would specify the key name of 24*4882a593Smuzhiyun "input.x11_options.Mode". 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun Do not specify "input.x11_options.Device" since "input.device" 27*4882a593Smuzhiyun will be used automatically. 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun You MUST specify all options as strings, otherwise the server will 30*4882a593Smuzhiyun ignore them. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun Legacy Keys 33*4882a593Smuzhiyun "input.xkb.rules" 34*4882a593Smuzhiyun "input.xkb.model" 35*4882a593Smuzhiyun "input.xkb.layout" 36*4882a593Smuzhiyun "input.xkb.variant" 37*4882a593Smuzhiyun "input.xkb.options" 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun These keys are deprecated. Use these instead: 40*4882a593Smuzhiyun "input.x11_options.XkbRules" 41*4882a593Smuzhiyun "input.x11_options.XkbModel" 42*4882a593Smuzhiyun "input.x11_options.XkbLayout" 43*4882a593Smuzhiyun "input.x11_options.XkbVariant" 44*4882a593Smuzhiyun "input.x11_options.XkbOptions" 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun See the evdev documentation for more information. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun FIXME: Support tablets too. 49*4882a593Smuzhiyun TODO: I think its fixed, can't test 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun --> 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun <match key="info.capabilities" contains="input.mouse"> 54*4882a593Smuzhiyun <merge key="input.x11_driver" type="string">mouse</merge> 55*4882a593Smuzhiyun <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" 56*4882a593Smuzhiyun string="Linux"> 57*4882a593Smuzhiyun <merge key="input.x11_driver" type="string">evdev</merge> 58*4882a593Smuzhiyun </match> 59*4882a593Smuzhiyun <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" 60*4882a593Smuzhiyun string="SunOS"> 61*4882a593Smuzhiyun <match key="input.device" contains="usb"> 62*4882a593Smuzhiyun <merge key="input.x11_options.StreamsModule" type="string">usbms</merge> 63*4882a593Smuzhiyun <merge key="input.x11_options.Protocol" type="string">VUID</merge> 64*4882a593Smuzhiyun </match> 65*4882a593Smuzhiyun </match> 66*4882a593Smuzhiyun </match> 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun <match key="info.capabilities" contains="input.keys"> 69*4882a593Smuzhiyun <merge key="input.x11_options.XkbRules" type="string">base</merge> 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun <!-- If we're using Linux, we use evdev by default (falling back to 72*4882a593Smuzhiyun kbd otherwise). --> 73*4882a593Smuzhiyun <merge key="input.x11_driver" type="string">kbd</merge> 74*4882a593Smuzhiyun <merge key="input.x11_options.XkbModel" type="string">pc105</merge> 75*4882a593Smuzhiyun <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" 76*4882a593Smuzhiyun string="Linux"> 77*4882a593Smuzhiyun <merge key="input.x11_driver" type="string">evdev</merge> 78*4882a593Smuzhiyun <merge key="input.x11_options.XkbModel" type="string">evdev</merge> 79*4882a593Smuzhiyun </match> 80*4882a593Smuzhiyun <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" 81*4882a593Smuzhiyun string="SunOS"> 82*4882a593Smuzhiyun <match key="input.device" contains="usb"> 83*4882a593Smuzhiyun <merge key="input.x11_options.StreamsModule" type="string">usbkbm</merge> 84*4882a593Smuzhiyun <merge key="input.x11_options.Protocol" type="string">VUID</merge> 85*4882a593Smuzhiyun </match> 86*4882a593Smuzhiyun </match> 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun <merge key="input.x11_options.XkbLayout" type="string">us</merge> 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun <merge key="input.x11_options.XkbVariant" type="string" /> 91*4882a593Smuzhiyun </match> 92*4882a593Smuzhiyun </device> 93*4882a593Smuzhiyun</deviceinfo> 94