config: deprecate (and ignore) the use of input.xkb.whatever options.

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>
This commit is contained in:
Peter Hutterer 2008-05-07 13:13:57 +09:30
parent 9e0d73fd8a
commit 26188875de
2 changed files with 14 additions and 29 deletions

View File

@ -167,7 +167,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
LibHalPropertySet *set = NULL;
LibHalPropertySetIterator set_iter;
char *psi_key = NULL, *tmp_val, *tmp_key;
char *psi_key = NULL, *tmp_val;
dbus_error_init(&error);
@ -244,27 +244,10 @@ device_added(LibHalContext *hal_ctx, const char *udi)
add_option(&options, psi_key + sizeof(LIBHAL_PROP_KEY)-1, tmp_val);
xfree(tmp_val);
}
/* evdev's XKB options... we should probably depreciate this usage */
} else if (!strncasecmp(psi_key, LIBHAL_XKB_PROP_KEY, sizeof(LIBHAL_XKB_PROP_KEY)-1)){
/* only support strings for all values */
tmp_val = get_prop_string(hal_ctx, udi, psi_key);
if (tmp_val){
/* add "xkb_" + NULL */
tmp_key = xalloc(strlen(psi_key) - ( sizeof(LIBHAL_XKB_PROP_KEY) - 1) + 5);
if (!tmp_key){
LogMessage(X_ERROR, "config/hal: couldn't allocate memory for option %s\n", psi_key);
} else {
sprintf(tmp_key, "xkb_%s", psi_key + sizeof(LIBHAL_XKB_PROP_KEY)-1);
add_option(&options, tmp_key, tmp_val);
xfree(tmp_key);
}
xfree(tmp_val);
}
} /* don't accept input.xkb.whatever options anymore */
else if (!strncasecmp(psi_key, LIBHAL_XKB_PROP_KEY, sizeof(LIBHAL_XKB_PROP_KEY)-1)){
LogMessage(X_ERROR, "config/hal: Option '%s' is "
"deprecated (ignoring).\n", psi_key);
}
}

View File

@ -26,19 +26,21 @@
Do not specify "input.x11_options.Device" since "input.device"
will be used automatically.
Legacy Keys
XKB configuration:
"input.x11_options.XkbRules"
"input.x11_options.XkbModel"
"input.x11_options.XkbLayout"
"input.x11_options.XkbVariant"
"input.x11_options.XkbOptions"
Legacy Keys (deprecated and ignored by the server):
"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.