mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2025-12-20 05:30:03 +01:00
lib: Add "Touchpad" device type
This commit is contained in:
parent
c6d2618e95
commit
67eefa17dd
8 changed files with 28 additions and 12 deletions
|
|
@ -307,20 +307,23 @@ up_device_to_text (UpDevice *device)
|
|||
if (kind == UP_DEVICE_KIND_BATTERY ||
|
||||
kind == UP_DEVICE_KIND_MOUSE ||
|
||||
kind == UP_DEVICE_KIND_KEYBOARD ||
|
||||
kind == UP_DEVICE_KIND_UPS)
|
||||
kind == UP_DEVICE_KIND_UPS ||
|
||||
kind == UP_DEVICE_KIND_TOUCHPAD)
|
||||
g_string_append_printf (string, " present: %s\n", up_device_bool_to_string (up_exported_device_get_is_present (priv->proxy_device)));
|
||||
if ((kind == UP_DEVICE_KIND_PHONE ||
|
||||
kind == UP_DEVICE_KIND_BATTERY ||
|
||||
kind == UP_DEVICE_KIND_MOUSE ||
|
||||
kind == UP_DEVICE_KIND_KEYBOARD ||
|
||||
kind == UP_DEVICE_KIND_GAMING_INPUT ||
|
||||
kind == UP_DEVICE_KIND_PEN) &&
|
||||
kind == UP_DEVICE_KIND_PEN ||
|
||||
kind == UP_DEVICE_KIND_TOUCHPAD) &&
|
||||
!is_display)
|
||||
g_string_append_printf (string, " rechargeable: %s\n", up_device_bool_to_string (up_exported_device_get_is_rechargeable (priv->proxy_device)));
|
||||
if (kind == UP_DEVICE_KIND_BATTERY ||
|
||||
kind == UP_DEVICE_KIND_MOUSE ||
|
||||
kind == UP_DEVICE_KIND_KEYBOARD ||
|
||||
kind == UP_DEVICE_KIND_UPS)
|
||||
kind == UP_DEVICE_KIND_UPS ||
|
||||
kind == UP_DEVICE_KIND_TOUCHPAD)
|
||||
g_string_append_printf (string, " state: %s\n", up_device_state_to_string (up_exported_device_get_state (priv->proxy_device)));
|
||||
g_string_append_printf (string, " warning-level: %s\n", up_device_level_to_string (up_exported_device_get_warning_level (priv->proxy_device)));
|
||||
battery_level = up_exported_device_get_battery_level (priv->proxy_device);
|
||||
|
|
@ -369,7 +372,8 @@ up_device_to_text (UpDevice *device)
|
|||
kind == UP_DEVICE_KIND_MEDIA_PLAYER ||
|
||||
kind == UP_DEVICE_KIND_UPS ||
|
||||
kind == UP_DEVICE_KIND_GAMING_INPUT ||
|
||||
kind == UP_DEVICE_KIND_PEN) {
|
||||
kind == UP_DEVICE_KIND_PEN ||
|
||||
kind == UP_DEVICE_KIND_TOUCHPAD) {
|
||||
if (battery_level == UP_DEVICE_LEVEL_NONE)
|
||||
g_string_append_printf (string, " percentage: %g%%\n", up_exported_device_get_percentage (priv->proxy_device));
|
||||
else
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@ up_device_kind_to_string (UpDeviceKind type_enum)
|
|||
return "gaming-input";
|
||||
case UP_DEVICE_KIND_PEN:
|
||||
return "pen";
|
||||
case UP_DEVICE_KIND_TOUCHPAD:
|
||||
return "touchpad";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
|
@ -117,6 +119,8 @@ up_device_kind_from_string (const gchar *type)
|
|||
return UP_DEVICE_KIND_GAMING_INPUT;
|
||||
if (g_str_equal (type, "pen"))
|
||||
return UP_DEVICE_KIND_PEN;
|
||||
if (g_str_equal (type, "touchpad"))
|
||||
return UP_DEVICE_KIND_TOUCHPAD;
|
||||
return UP_DEVICE_KIND_UNKNOWN;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ typedef enum {
|
|||
UP_DEVICE_KIND_COMPUTER,
|
||||
UP_DEVICE_KIND_GAMING_INPUT,
|
||||
UP_DEVICE_KIND_PEN,
|
||||
UP_DEVICE_KIND_TOUCHPAD,
|
||||
UP_DEVICE_KIND_LAST
|
||||
} UpDeviceKind;
|
||||
|
||||
|
|
|
|||
|
|
@ -775,10 +775,12 @@ hidpp_device_refresh (HidppDevice *device,
|
|||
break;
|
||||
case HIDPP_READ_LONG_REGISTER_DEVICE_TYPE_MOUSE:
|
||||
case HIDPP_READ_LONG_REGISTER_DEVICE_TYPE_TRACKBALL:
|
||||
case HIDPP_READ_LONG_REGISTER_DEVICE_TYPE_TOUCHPAD:
|
||||
case HIDPP_READ_LONG_REGISTER_DEVICE_TYPE_PRESENTER:
|
||||
priv->kind = HIDPP_DEVICE_KIND_MOUSE;
|
||||
break;
|
||||
case HIDPP_READ_LONG_REGISTER_DEVICE_TYPE_TOUCHPAD:
|
||||
priv->kind = HIDPP_DEVICE_KIND_TOUCHPAD;
|
||||
break;
|
||||
case HIDPP_READ_LONG_REGISTER_DEVICE_TYPE_TABLET:
|
||||
priv->kind = HIDPP_DEVICE_KIND_TABLET;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -87,7 +87,8 @@ BATTERY_IFACE = 'org.bluez.Battery1'
|
|||
UP_DEVICE_KIND_TABLET,
|
||||
UP_DEVICE_KIND_COMPUTER,
|
||||
UP_DEVICE_KIND_GAMING_INPUT,
|
||||
UP_DEVICE_KIND_PEN) = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
|
||||
UP_DEVICE_KIND_PEN,
|
||||
UP_DEVICE_KIND_TOUCHPAD) = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
|
||||
|
||||
class Tests(dbusmock.DBusTestCase):
|
||||
@classmethod
|
||||
|
|
@ -1275,7 +1276,7 @@ class Tests(dbusmock.DBusTestCase):
|
|||
self.testbed.uevent(batt_dev, 'change')
|
||||
|
||||
time.sleep(0.5)
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), UP_DEVICE_KIND_MOUSE)
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), UP_DEVICE_KIND_TOUCHPAD)
|
||||
|
||||
def test_hidpp_touchpad(self):
|
||||
'''HID++ touchpad battery with 5 capacity levels'''
|
||||
|
|
@ -1313,7 +1314,7 @@ class Tests(dbusmock.DBusTestCase):
|
|||
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 'Logitech T650')
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'PowerSupply'), False)
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), UP_DEVICE_KIND_MOUSE)
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), UP_DEVICE_KIND_TOUCHPAD)
|
||||
self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Serial'), '123456')
|
||||
self.assertEqual(self.get_dbus_property('OnBattery'), False)
|
||||
self.assertEqual(self.get_dbus_display_property('WarningLevel'), UP_DEVICE_LEVEL_NONE)
|
||||
|
|
|
|||
|
|
@ -1053,9 +1053,10 @@ up_device_supply_guess_type (GUdevDevice *native,
|
|||
|
||||
sibling = up_device_supply_get_sibling_with_subsystem (native, "input");
|
||||
if (sibling) {
|
||||
if (g_udev_device_get_property_as_boolean (sibling, "ID_INPUT_MOUSE") ||
|
||||
g_udev_device_get_property_as_boolean (sibling, "ID_INPUT_TOUCHPAD")) {
|
||||
if (g_udev_device_get_property_as_boolean (sibling, "ID_INPUT_MOUSE")) {
|
||||
type = UP_DEVICE_KIND_MOUSE;
|
||||
} else if (g_udev_device_get_property_as_boolean (sibling, "ID_INPUT_TOUCHPAD")) {
|
||||
type = UP_DEVICE_KIND_TOUCHPAD;
|
||||
} else if (g_udev_device_get_property_as_boolean (sibling, "ID_INPUT_JOYSTICK")) {
|
||||
type = UP_DEVICE_KIND_GAMING_INPUT;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -114,10 +114,12 @@ up_device_unifying_get_device_kind (UpDeviceUnifying *unifying)
|
|||
UpDeviceKind kind;
|
||||
switch (hidpp_device_get_kind (unifying->priv->hidpp_device)) {
|
||||
case HIDPP_DEVICE_KIND_MOUSE:
|
||||
case HIDPP_DEVICE_KIND_TOUCHPAD:
|
||||
case HIDPP_DEVICE_KIND_TRACKBALL:
|
||||
kind = UP_DEVICE_KIND_MOUSE;
|
||||
break;
|
||||
case HIDPP_DEVICE_KIND_TOUCHPAD:
|
||||
kind = UP_DEVICE_KIND_TOUCHPAD;
|
||||
break;
|
||||
case HIDPP_DEVICE_KIND_KEYBOARD:
|
||||
kind = UP_DEVICE_KIND_KEYBOARD;
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -651,7 +651,8 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
|
|||
* battery level, so this avoids falling directly
|
||||
* into critical (or off) before any warnings */
|
||||
if (kind == UP_DEVICE_KIND_MOUSE ||
|
||||
kind == UP_DEVICE_KIND_KEYBOARD) {
|
||||
kind == UP_DEVICE_KIND_KEYBOARD ||
|
||||
kind == UP_DEVICE_KIND_TOUCHPAD) {
|
||||
if (percentage <= 5.0f)
|
||||
return UP_DEVICE_LEVEL_CRITICAL;
|
||||
else if (percentage <= 10.0f)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue