1
0
forked from drath/libratbag

hidpp10: use the directory profile count to get the device info

The G700 has 5 available profiles, bump HIDPP10_NUM_PROFILES.

On the other hand, hidpp10_get_device_info() doesn't fill anything...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
This commit is contained in:
Peter Hutterer
2015-10-13 14:12:45 +10:00
committed by Benjamin Tissoires
parent 8d65710846
commit ff44609bef
2 changed files with 6 additions and 2 deletions

View File

@@ -1440,6 +1440,8 @@ hidpp10_get_device_info(struct hidpp10_device *dev)
enum hidpp10_led_status led[6];
int8_t current_profile;
struct hidpp10_profile profiles[HIDPP10_NUM_PROFILES];
int count;
struct hidpp10_directory directory[16];
hidpp10_get_individual_features(dev, &feature_mask);
hidpp10_get_hidpp_notifications(dev, &notifications);
@@ -1452,7 +1454,9 @@ hidpp10_get_device_info(struct hidpp10_device *dev)
hidpp10_get_current_profile(dev, &current_profile);
for (i = 0; i < HIDPP10_NUM_PROFILES; i++)
count = hidpp10_get_profile_directory(dev, directory,
ARRAY_LENGTH(directory));
for (i = 0; i < count && i < HIDPP10_NUM_PROFILES; i++)
hidpp10_get_profile(dev, i, &profiles[i]);
return 0;

View File

@@ -36,7 +36,7 @@
/* FIXME: that's what my G500s supports, but only pages 3-5 are valid.
* 0 is zeroed, 1 and 2 are garbage, all above 6 is garbage */
#define HIDPP10_NUM_PROFILES 3
#define HIDPP10_NUM_PROFILES 5
#define HIDPP10_MAX_PAGE_NUMBER 31