forked from drath/libratbag
Drop the Led.Type property
The led type was the physical led type to describe where the LED sits. This property is basically unused and of questionable use anyway. GUI applications would need to rely on drawings of the mouse anyway. Scripts don't really care because ratbagctl uses the led index anyway. The only time this matters is when we're looking at (human) device discovery. But even then just trying to set the LED is enough to figure out which one is which. So let's drop this API on the assumption that it's not really needed and maintaining and extending that enum forever is not necessary. This is not a full purge, merely the DBus API that gets dropped. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
committed by
Benjamin Tissoires
parent
79711dfdad
commit
367aa29dfe
@@ -113,26 +113,6 @@ static int ratbagd_led_set_mode(sd_bus *bus,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ratbagd_led_get_type(sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error)
|
||||
{
|
||||
struct ratbagd_led *led = userdata;
|
||||
enum ratbag_led_type type;
|
||||
|
||||
type = ratbag_led_get_type(led->lib_led);
|
||||
|
||||
verify_unsigned_int(type);
|
||||
|
||||
CHECK_CALL(sd_bus_message_append(reply, "u", type));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ratbagd_led_get_color(sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
@@ -295,7 +275,6 @@ const sd_bus_vtable ratbagd_led_vtable[] = {
|
||||
ratbagd_led_get_mode,
|
||||
ratbagd_led_set_mode, 0,
|
||||
SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
|
||||
SD_BUS_PROPERTY("Type", "u", ratbagd_led_get_type, 0, SD_BUS_VTABLE_PROPERTY_CONST),
|
||||
SD_BUS_WRITABLE_PROPERTY("Color", "(uuu)",
|
||||
ratbagd_led_get_color, ratbagd_led_set_color, 0,
|
||||
SD_BUS_VTABLE_UNPRIVILEGED|SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
|
||||
|
||||
@@ -284,10 +284,15 @@ enum ratbag_led_mode {
|
||||
*/
|
||||
RATBAG_LED_BREATHING,
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup enums
|
||||
*
|
||||
* LED types, usually based on their physical location
|
||||
*
|
||||
* This enum is deprecated and should not be used.
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
enum ratbag_led_type {
|
||||
RATBAG_LED_TYPE_LOGO = 1,
|
||||
|
||||
@@ -1470,12 +1470,6 @@ ratbag_led_get_mode(struct ratbag_led *led)
|
||||
return led->mode;
|
||||
}
|
||||
|
||||
LIBRATBAG_EXPORT enum ratbag_led_type
|
||||
ratbag_led_get_type(struct ratbag_led *led)
|
||||
{
|
||||
return led->type;
|
||||
}
|
||||
|
||||
LIBRATBAG_EXPORT bool
|
||||
ratbag_led_has_mode(struct ratbag_led *led,
|
||||
enum ratbag_led_mode mode)
|
||||
|
||||
@@ -1157,18 +1157,6 @@ ratbag_button_get_special(struct ratbag_button *button);
|
||||
*/
|
||||
struct ratbag_led *
|
||||
ratbag_profile_get_led(struct ratbag_profile *profile, unsigned int index);
|
||||
/**
|
||||
* @ingroup led
|
||||
*
|
||||
* This function returns the type for ratbag_led.
|
||||
*
|
||||
* @param led A previously initialized ratbag LED
|
||||
* @return The LED type @ref ratbag_led_type
|
||||
*
|
||||
* @see ratbag_led_set_mode
|
||||
*/
|
||||
enum ratbag_led_type
|
||||
ratbag_led_get_type(struct ratbag_led *led);
|
||||
|
||||
/**
|
||||
* @ingroup led
|
||||
|
||||
@@ -773,12 +773,6 @@ class RatbagdLed(metaclass=MetaRatbag):
|
||||
"""
|
||||
libratbag.ratbag_led_set_mode(self._led, mode)
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
"""An enum describing this led's type, one of RatbagdLed.TYPE_UNKNOWN,
|
||||
RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE."""
|
||||
return libratbag.ratbag_led_get_type(self._led)
|
||||
|
||||
@property
|
||||
def color(self):
|
||||
"""An integer triple of the current LED color."""
|
||||
|
||||
@@ -123,41 +123,30 @@ def print_led(d, p, l, level):
|
||||
RatbagdLed.MODE_OFF: "off",
|
||||
RatbagdLed.MODE_ON: "on",
|
||||
}
|
||||
types = {
|
||||
RatbagdLed.TYPE_LOGO: "logo",
|
||||
RatbagdLed.TYPE_SIDE: "side",
|
||||
RatbagdLed.TYPE_BATTERY: "battery",
|
||||
RatbagdLed.TYPE_DPI: "dpi",
|
||||
RatbagdLed.TYPE_WHEEL: "wheel",
|
||||
}
|
||||
depths = {
|
||||
RatbagdLed.COLORDEPTH_MONOCHROME: "monochrome",
|
||||
RatbagdLed.COLORDEPTH_RGB_888: "rgb",
|
||||
RatbagdLed.COLORDEPTH_RGB_111: "rgb111",
|
||||
}
|
||||
if l.mode == RatbagdLed.MODE_OFF:
|
||||
print(" " * level + "LED: {} type: {}, depth: {}, mode: {}".format(l.index,
|
||||
types[l.type],
|
||||
print(" " * level + "LED: {}, depth: {}, mode: {}".format(l.index,
|
||||
depths[l.colordepth],
|
||||
leds[l.mode]))
|
||||
elif l.mode == RatbagdLed.MODE_ON:
|
||||
print(" " * level + "LED: {} type: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}".format(l.index,
|
||||
types[l.type],
|
||||
print(" " * level + "LED: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}".format(l.index,
|
||||
depths[l.colordepth],
|
||||
leds[l.mode],
|
||||
l.color[0],
|
||||
l.color[1],
|
||||
l.color[2]))
|
||||
elif l.mode == RatbagdLed.MODE_CYCLE:
|
||||
print(" " * level + "LED: {} type: {}, depth: {}, mode: {}, duration: {}, brightness: {}".format(l.index,
|
||||
types[l.type],
|
||||
print(" " * level + "LED: {}, depth: {}, mode: {}, duration: {}, brightness: {}".format(l.index,
|
||||
depths[l.colordepth],
|
||||
leds[l.mode],
|
||||
l.effect_duration,
|
||||
l.brightness))
|
||||
elif l.mode == RatbagdLed.MODE_BREATHING:
|
||||
print(" " * level + "LED: {} type: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}, duration: {}, brightness: {}".format(l.index,
|
||||
types[l.type],
|
||||
print(" " * level + "LED: {}, depth: {}, mode: {}, color: {:02x}{:02x}{:02x}, duration: {}, brightness: {}".format(l.index,
|
||||
depths[l.colordepth],
|
||||
leds[l.mode],
|
||||
l.color[0],
|
||||
|
||||
@@ -480,11 +480,11 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
def test_led_n_get(self):
|
||||
self.setProfile(0)
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: off")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: off")
|
||||
r = self.launch_good_test("led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: ff0000")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: ff0000")
|
||||
r = self.launch_good_test("led 2 get test_device")
|
||||
self.assertEqual(r, "LED: 2 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 40")
|
||||
self.assertEqual(r, "LED: 2, depth: rgb, mode: cycle, duration: 333, brightness: 40")
|
||||
self.launch_fail_test("led 0 get 10 test_device")
|
||||
self.launch_fail_test("led 10 get test_device")
|
||||
self.launch_fail_test("led 0 get test_device X")
|
||||
@@ -492,11 +492,11 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
def test_led_n_set_mode(self):
|
||||
self.setProfile(0)
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: off")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: off")
|
||||
r = self.launch_good_test("led 0 set mode cycle test_device")
|
||||
self.assertEqual(r, '')
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 1000, brightness: 20")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 1000, brightness: 20")
|
||||
self.launch_fail_test("led 0 set mode bicycle test_device")
|
||||
self.launch_fail_test("led 0 set mode test_device")
|
||||
self.launch_fail_test("led 0 set mode cycle test_device X")
|
||||
@@ -505,15 +505,15 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
def test_led_n_set_color(self):
|
||||
self.setProfile(0)
|
||||
r = self.launch_good_test("led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: ff0000")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: ff0000")
|
||||
r = self.launch_good_test("led 1 set color 00ff00 test_device")
|
||||
self.assertEqual(r, '')
|
||||
r = self.launch_good_test("led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: 00ff00")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: 00ff00")
|
||||
r = self.launch_good_test("led 1 set color 0x0000ff test_device")
|
||||
self.assertEqual(r, '')
|
||||
r = self.launch_good_test("led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: on, color: 0000ff")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: on, color: 0000ff")
|
||||
self.launch_fail_test("led 1 set color g0ff00 test_device")
|
||||
self.launch_fail_test("led 1 set color test_device")
|
||||
self.launch_fail_test("led 1 set color 00ff00 test_device X")
|
||||
@@ -522,11 +522,11 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
def test_led_n_set_duration(self):
|
||||
self.setProfile(0)
|
||||
r = self.launch_good_test("led 2 get test_device")
|
||||
self.assertEqual(r, "LED: 2 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 40")
|
||||
self.assertEqual(r, "LED: 2, depth: rgb, mode: cycle, duration: 333, brightness: 40")
|
||||
r = self.launch_good_test("led 2 set duration 10 test_device")
|
||||
self.assertEqual(r, '')
|
||||
r = self.launch_good_test("led 2 get test_device")
|
||||
self.assertEqual(r, "LED: 2 type: side, depth: rgb, mode: cycle, duration: 10, brightness: 40")
|
||||
self.assertEqual(r, "LED: 2, depth: rgb, mode: cycle, duration: 10, brightness: 40")
|
||||
self.launch_fail_test("led 2 set duration this_is_not_an_int test_device")
|
||||
self.launch_fail_test("led 2 set duration test_device")
|
||||
self.launch_fail_test("led 2 set duration 100 test_device X")
|
||||
@@ -535,11 +535,11 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
def test_led_n_set_brightness(self):
|
||||
self.setProfile(2)
|
||||
r = self.launch_good_test("led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 40")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: cycle, duration: 333, brightness: 40")
|
||||
r = self.launch_good_test("led 1 set brightness 100 test_device")
|
||||
self.assertEqual(r, '')
|
||||
r = self.launch_good_test("led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: cycle, duration: 333, brightness: 100")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: cycle, duration: 333, brightness: 100")
|
||||
self.launch_fail_test("led 1 set brightness this_is_not_an_int test_device")
|
||||
self.launch_fail_test("led 1 set brightness test_device")
|
||||
self.launch_fail_test("led 1 set brightness 100 test_device X")
|
||||
@@ -551,28 +551,28 @@ class TestRatbagCtlLED(TestRatbagCtl):
|
||||
def test_led_n_set_combination(self):
|
||||
self.setProfile(2)
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: on, color: ff0000")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: on, color: ff0000")
|
||||
r = self.launch_good_test("led 0 set mode cycle brightness 100 test_device")
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 1000, brightness: 100")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 1000, brightness: 100")
|
||||
r = self.launch_good_test("led 0 set mode cycle duration 100 brightness 255 test_device")
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 100, brightness: 255")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 100, brightness: 255")
|
||||
r = self.launch_good_test("led 0 set mode on color 00ff00 test_device")
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: on, color: 00ff00")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: on, color: 00ff00")
|
||||
r = self.launch_good_test("led 0 set duration 100 brightness 200 mode cycle test_device")
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 100, brightness: 200")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 100, brightness: 200")
|
||||
r = self.launch_good_test("led 0 set duration 100 brightness 200 mode cycle brightness 100 test_device")
|
||||
r = self.launch_good_test("led 0 get test_device")
|
||||
self.assertEqual(r, "LED: 0 type: logo, depth: rgb, mode: cycle, duration: 100, brightness: 100")
|
||||
self.assertEqual(r, "LED: 0, depth: rgb, mode: cycle, duration: 100, brightness: 100")
|
||||
self.launch_fail_test("led 0 set brightness 10 mode bicycle test_device")
|
||||
|
||||
def test_prefix_led(self):
|
||||
self.setProfile(2)
|
||||
r = self.launch_good_test("Profile 1 Led 1 get test_device")
|
||||
self.assertEqual(r, "LED: 1 type: side, depth: rgb, mode: off")
|
||||
self.assertEqual(r, "LED: 1, depth: rgb, mode: off")
|
||||
self.launch_fail_test("Profile 1 Profile 2 Led 1 get test_device")
|
||||
self.launch_fail_test("Profile 1 Resolution 2 Led 1 get test_device")
|
||||
|
||||
|
||||
@@ -919,12 +919,6 @@ class RatbagdLed(_RatbagdDBus):
|
||||
"""The supported modes as a list"""
|
||||
return self._get_dbus_property("Modes")
|
||||
|
||||
@GObject.Property
|
||||
def type(self):
|
||||
"""An enum describing this led's type,
|
||||
RatbagdLed.TYPE_LOGO or RatbagdLed.TYPE_SIDE."""
|
||||
return self._get_dbus_property("Type")
|
||||
|
||||
@GObject.Property
|
||||
def color(self):
|
||||
"""An integer triple of the current LED color."""
|
||||
|
||||
Reference in New Issue
Block a user