config: expose config_info as an input option.
config_info is the only reliable indicator we have in the server for duplicate devices (drivers can test for maj/min on fds as well). Don't set this after the device has been initialized but assume it's important enough to set during NIDR. This makes the option "config_info" available to the drivers as well. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
parent
de0cc5a72d
commit
31c71425ac
|
@ -376,6 +376,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
|
|||
add_option(&options, "xkb_model", xkb_opts.model);
|
||||
if (xkb_opts.options)
|
||||
add_option(&options, "xkb_options", xkb_opts.options);
|
||||
add_option(&options, "config_info", config_info);
|
||||
|
||||
/* this isn't an error, but how else do you output something that the user can see? */
|
||||
LogMessage(X_INFO, "config/hal: Adding input device %s\n", name);
|
||||
|
@ -385,11 +386,6 @@ device_added(LibHalContext *hal_ctx, const char *udi)
|
|||
goto unwind;
|
||||
}
|
||||
|
||||
for (; dev; dev = dev->next){
|
||||
free(dev->config_info);
|
||||
dev->config_info = strdup(config_info);
|
||||
}
|
||||
|
||||
unwind:
|
||||
if (set)
|
||||
libhal_free_property_set(set);
|
||||
|
|
|
@ -189,17 +189,14 @@ device_added(struct udev_device *udev_device)
|
|||
}
|
||||
}
|
||||
|
||||
add_option(&options, "config_info", config_info);
|
||||
|
||||
LogMessage(X_INFO, "config/udev: Adding input device %s (%s)\n",
|
||||
name, path);
|
||||
rc = NewInputDeviceRequest(options, &attrs, &dev);
|
||||
if (rc != Success)
|
||||
goto unwind;
|
||||
|
||||
for (; dev; dev = dev->next) {
|
||||
free(dev->config_info);
|
||||
dev->config_info = strdup(config_info);
|
||||
}
|
||||
|
||||
unwind:
|
||||
free(config_info);
|
||||
while (!dev && (tmpo = options)) {
|
||||
|
|
|
@ -353,6 +353,7 @@ xf86ActivateDevice(LocalDevicePtr local)
|
|||
|
||||
dev->deviceGrab.ActivateGrab = ActivateKeyboardGrab;
|
||||
dev->deviceGrab.DeactivateGrab = DeactivateKeyboardGrab;
|
||||
dev->config_info = xf86SetStrOption(local->options, "config_info", NULL);
|
||||
|
||||
RegisterOtherDevice(dev);
|
||||
XkbSetExtension(dev, ProcessKeyboardEvent);
|
||||
|
|
Loading…
Reference in New Issue
Block a user