The HAL spec says that input.xkb.{rmlv}* can be sent, but if the user
specifies a X-specific {rmlv}, then this is overridden through the use of
input.x11_options.Xkb{RMLV}.
However, the way how the server parses options--by ignoring capitalisation,
underscores and spaces--the HAL and the x11_options would override each other.
So we simply filter the options, letting Xkb{RMLV} override xkb_{rmlv} and
only actually add them to the device after parsing _all_ options.
* rmlv ... rules, model, layout, variant
See Bug 13037 <http://bugs.freedesktop.org/show_bug.cgi?id=13037>
daniels:
"Hrm, I'd prefer to have input.xkb.{m,l,v,o} be the primary keys, and
have input.x11_options be a backup for that, rather than the former
being deprecated, for the reasons I listed earlier ..."
see http://bugs.freedesktop.org/show_bug.cgi?id=13037#c51
This reverts commit 26188875de.
These options are still sent by some HAL implementations (e.g. HAL on FC8),
and may overwrite the options set in the x11-input.fdi file.
For a more detailed description of why see Bug #13037, comment 42.
X.Org Bug 13037 <http://bugs.freedesktop.org/show_bug.cgi?id=13037#c42>
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.
Thanks to libdbus' extensive use of assert we won't just get an error, it'll
bring the whole server down for us.
(cherry picked from commit fb07fab2c0)
Don't use our DBusError for property getting, because we simply don't care:
this fixes D-Bus error spew to stderr. Thanks Michel Dänzer for debugging
and testing.
Add support for HAL-based hotplugging, in which we just get the list of
input devices and properties from HAL. Requires an FDI which is not yet
in mainline HAL.