diff options
author | Sascha Hlusiak <saschahlusiak@arcor.de> | 2008-03-25 17:37:25 +0100 |
---|---|---|
committer | Sascha Hlusiak <saschahlusiak@arcor.de> | 2008-03-25 17:37:25 +0100 |
commit | 47eb658e802775021e3efec109f95431cca188ca (patch) | |
tree | b00594a30faea8f5d2ac6c8e9acac2fde860d88c /config/x11-input.fdi | |
parent | f028e245a7932362656701c08fcfbfa8e8949077 (diff) |
Support to pass arbitrary options via HAL hotplugging
Parse "input.x11_options" and pass every key/name pair to the driver.
Remove check for input.capabilities, because that's part of the fdi files.
Thanks to Dustin Spicuzza <dustin@virtualroadside.com> for the patch.
Diffstat (limited to 'config/x11-input.fdi')
-rw-r--r-- | config/x11-input.fdi | 62 |
1 files changed, 56 insertions, 6 deletions
diff --git a/config/x11-input.fdi b/config/x11-input.fdi index c390706fb..f2e2d50ab 100644 --- a/config/x11-input.fdi +++ b/config/x11-input.fdi @@ -1,7 +1,57 @@ <?xml version="1.0" encoding="UTF-8"?> <deviceinfo version="0.2"> <device> - <!-- FIXME: Support tablets too. --> + + <!-- 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. + + 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. + + You will probably want to add the following option to the ServerFlags of + your xorg.conf: + + Option "AllowEmptyInput" "True" + + 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" @@ -11,21 +61,21 @@ </match> <match key="info.capabilities" contains="input.keys"> - <merge key="input.xkb.rules" type="string">base</merge> + <merge key="input.x11_options.XkbRules" type="string">base</merge> <!-- If we're using Linux, we use evdev by default (falling back to keyboard otherwise). --> <merge key="input.x11_driver" type="string">keyboard</merge> - <merge key="input.xkb.model" type="string">pc105</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.xkb.model" type="string">evdev</merge> + <merge key="input.x11_options.XkbModel" type="string">evdev</merge> </match> - <merge key="input.xkb.layout" type="string">us</merge> + <merge key="input.x11_options.XkbLayout" type="string">us</merge> - <merge key="input.xkb.variant" type="string" /> + <merge key="input.x11_options.XkbVariant" type="string" /> </match> </device> </deviceinfo> |