mirror of
https://github.com/libratbag/libratbag.git
synced 2026-11-08 07:33:53 +01:00
Add a ratbag_device_get_svg_name() function
To retrieve which SVG file is associated to which device. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
@@ -744,7 +744,7 @@ static const struct ratbag_id etekcity_table[] = {
|
|||||||
.vendor = USB_VENDOR_ID_ETEKCITY,
|
.vendor = USB_VENDOR_ID_ETEKCITY,
|
||||||
.product = 0x4011,
|
.product = 0x4011,
|
||||||
.version = VERSION_ANY },
|
.version = VERSION_ANY },
|
||||||
.data = 1,
|
.svg_filename = "etekcity.svg",
|
||||||
},
|
},
|
||||||
|
|
||||||
{ },
|
{ },
|
||||||
|
|||||||
@@ -273,7 +273,8 @@ static const struct ratbag_id hidpp10drv_table[] = {
|
|||||||
{ .id = LOGITECH_DEVICE(BUS_USB, 0x1028) },
|
{ .id = LOGITECH_DEVICE(BUS_USB, 0x1028) },
|
||||||
|
|
||||||
/* G500s */
|
/* G500s */
|
||||||
{ .id = LOGITECH_DEVICE(BUS_USB, 0xc24e) },
|
{ .id = LOGITECH_DEVICE(BUS_USB, 0xc24e),
|
||||||
|
.svg_filename = "logitech-g500s.svg" },
|
||||||
|
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ struct ratbag {
|
|||||||
|
|
||||||
struct ratbag_device {
|
struct ratbag_device {
|
||||||
char *name;
|
char *name;
|
||||||
|
const char *svg_name;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
|
|
||||||
struct udev_device *udev_device;
|
struct udev_device *udev_device;
|
||||||
@@ -74,6 +75,7 @@ struct ratbag_device {
|
|||||||
|
|
||||||
struct ratbag_id {
|
struct ratbag_id {
|
||||||
struct input_id id;
|
struct input_id id;
|
||||||
|
const char *svg_filename;
|
||||||
unsigned long data;
|
unsigned long data;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -287,10 +287,12 @@ ratbag_find_driver(struct ratbag_device *device, const struct input_id *dev_id)
|
|||||||
if (ratbag_match_id(dev_id, &matching_id->id)) {
|
if (ratbag_match_id(dev_id, &matching_id->id)) {
|
||||||
matched_id.id = *dev_id;
|
matched_id.id = *dev_id;
|
||||||
matched_id.data = matching_id->data;
|
matched_id.data = matching_id->data;
|
||||||
|
matched_id.svg_filename = matching_id->svg_filename;
|
||||||
device->driver = driver;
|
device->driver = driver;
|
||||||
rc = driver->probe(device, matched_id);
|
rc = driver->probe(device, matched_id);
|
||||||
if (rc == 0) {
|
if (rc == 0) {
|
||||||
log_debug(ratbag, "driver match found\n");
|
log_debug(ratbag, "driver match found\n");
|
||||||
|
device->svg_name = matching_id->svg_filename;
|
||||||
return driver;
|
return driver;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -438,6 +440,12 @@ ratbag_device_get_name(const struct ratbag_device* device)
|
|||||||
return device->name;
|
return device->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LIBRATBAG_EXPORT const char *
|
||||||
|
ratbag_device_get_svg_name(const struct ratbag_device* device)
|
||||||
|
{
|
||||||
|
return device->svg_name;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ratbag_register_driver(struct ratbag *ratbag, struct ratbag_driver *driver)
|
ratbag_register_driver(struct ratbag *ratbag, struct ratbag_driver *driver)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -386,6 +386,16 @@ ratbag_device_get_user_data(const struct ratbag_device *device);
|
|||||||
const char *
|
const char *
|
||||||
ratbag_device_get_name(const struct ratbag_device* device);
|
ratbag_device_get_name(const struct ratbag_device* device);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup device
|
||||||
|
*
|
||||||
|
* @param device A previously initialized ratbag device
|
||||||
|
* @return The file name of the svg drawing associated with the given ratbag.
|
||||||
|
* If there is no file associated to the device, NULL is returned.
|
||||||
|
*/
|
||||||
|
const char *
|
||||||
|
ratbag_device_get_svg_name(const struct ratbag_device* device);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup device
|
* @ingroup device
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ global:
|
|||||||
ratbag_device_get_num_buttons;
|
ratbag_device_get_num_buttons;
|
||||||
ratbag_device_get_num_profiles;
|
ratbag_device_get_num_profiles;
|
||||||
ratbag_device_get_profile_by_index;
|
ratbag_device_get_profile_by_index;
|
||||||
|
ratbag_device_get_svg_name;
|
||||||
ratbag_device_get_user_data;
|
ratbag_device_get_user_data;
|
||||||
ratbag_device_has_capability;
|
ratbag_device_has_capability;
|
||||||
ratbag_device_new_from_udev_device;
|
ratbag_device_new_from_udev_device;
|
||||||
|
|||||||
Reference in New Issue
Block a user