1706f2543Smrg<?xml version="1.0" encoding="UTF-8"?>
2706f2543Smrg<deviceinfo version="0.2">
3706f2543Smrg  <device>
4706f2543Smrg  
5706f2543Smrg    <!-- The way this works: 
6706f2543Smrg    
7706f2543Smrg    Match against some input device (see the HAL specification for more 
8706f2543Smrg    information), and then merge in keys, which you can use to specify 
9706f2543Smrg    the configuration similar to the way you would in xorg.conf. You will 
10706f2543Smrg    need to restart HAL after making changes. If you are having issues,
11706f2543Smrg    starting X with the -logverbose 7 flag may yield useful information.
12706f2543Smrg    
13706f2543Smrg    Keys Supported:
14706f2543Smrg    
15706f2543Smrg        Key "input.x11_driver" (string)
16706f2543Smrg            This specifies the driver to use. You MUST specify this option,
17706f2543Smrg            or a driver will not be loaded and the rest will be ignored by
18706f2543Smrg            Xorg
19706f2543Smrg            
20706f2543Smrg        Key "input.x11_options.<option name>" (string)
21706f2543Smrg            This allows you to specify arbitrary options to pass to the driver.
22706f2543Smrg            Anything you would normally specify in xorg.conf goes here. So, for
23706f2543Smrg            option "Mode" in xorg.conf, you would specify the key name of
24706f2543Smrg            "input.x11_options.Mode". 
25706f2543Smrg
26706f2543Smrg	    Do not specify "input.x11_options.Device" since "input.device"
27706f2543Smrg	    will be used automatically.
28706f2543Smrg
29706f2543Smrg            You MUST specify all options as strings, otherwise the server will
30706f2543Smrg            ignore them.
31706f2543Smrg
32706f2543Smrg        Legacy Keys
33706f2543Smrg	     "input.xkb.rules"
34706f2543Smrg             "input.xkb.model"
35706f2543Smrg             "input.xkb.layout"
36706f2543Smrg             "input.xkb.variant"
37706f2543Smrg             "input.xkb.options"
38706f2543Smrg             
39706f2543Smrg            These keys are deprecated. Use these instead:
40706f2543Smrg	     "input.x11_options.XkbRules"
41706f2543Smrg	     "input.x11_options.XkbModel"
42706f2543Smrg	     "input.x11_options.XkbLayout"
43706f2543Smrg	     "input.x11_options.XkbVariant"
44706f2543Smrg	     "input.x11_options.XkbOptions"
45706f2543Smrg
46706f2543Smrg	    See the evdev documentation for more information. 
47706f2543Smrg    
48706f2543Smrg    FIXME: Support tablets too. 
49706f2543Smrg    TODO: I think its fixed, can't test
50706f2543Smrg    
51706f2543Smrg    -->
52706f2543Smrg    
53706f2543Smrg    <match key="info.capabilities" contains="input.mouse">
54706f2543Smrg      <merge key="input.x11_driver" type="string">mouse</merge>
55706f2543Smrg      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
56706f2543Smrg             string="Linux">
57706f2543Smrg        <merge key="input.x11_driver" type="string">evdev</merge>
58706f2543Smrg      </match>
59706f2543Smrg      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
60706f2543Smrg             string="SunOS">
61706f2543Smrg       <match key="input.device" contains="usb">
62706f2543Smrg        <merge key="input.x11_options.StreamsModule" type="string">usbms</merge>
63706f2543Smrg        <merge key="input.x11_options.Protocol" type="string">VUID</merge>
64706f2543Smrg       </match>
65706f2543Smrg      </match>
66706f2543Smrg    </match>
67706f2543Smrg
68706f2543Smrg    <match key="info.capabilities" contains="input.keys">
69706f2543Smrg      <merge key="input.x11_options.XkbRules" type="string">base</merge>
70706f2543Smrg
71706f2543Smrg      <!-- If we're using Linux, we use evdev by default (falling back to
72706f2543Smrg           kbd otherwise). -->
73706f2543Smrg      <merge key="input.x11_driver" type="string">kbd</merge>
74706f2543Smrg      <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
75706f2543Smrg      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
76706f2543Smrg             string="Linux">
77706f2543Smrg        <merge key="input.x11_driver" type="string">evdev</merge>
78706f2543Smrg        <merge key="input.x11_options.XkbModel" type="string">evdev</merge>
79706f2543Smrg      </match>
80706f2543Smrg      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
81706f2543Smrg             string="SunOS">
82706f2543Smrg       <match key="input.device" contains="usb">
83706f2543Smrg        <merge key="input.x11_options.StreamsModule" type="string">usbkbm</merge>
84706f2543Smrg        <merge key="input.x11_options.Protocol" type="string">VUID</merge>
85706f2543Smrg       </match>
86706f2543Smrg      </match>
87706f2543Smrg
88706f2543Smrg      <merge key="input.x11_options.XkbLayout" type="string">us</merge>
89706f2543Smrg
90706f2543Smrg      <merge key="input.x11_options.XkbVariant" type="string" />
91706f2543Smrg    </match>
92706f2543Smrg  </device>
93706f2543Smrg</deviceinfo>
94