etekcity: retrieve the "on-to-go" setting

Still a mystery of what it is. Though I know how to get/set it, so let's
make it public until somebody claims what it is.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
Benjamin Tissoires
2015-09-02 10:35:33 -04:00
parent 9dd71c6b06
commit 9ccaaa9ea9

View File

@@ -41,10 +41,12 @@
#define ETEKCITY_REPORT_ID_PROFILE 5
#define ETEKCITY_REPORT_ID_SETTINGS 6
#define ETEKCITY_REPORT_ID_KEY_MAPPING 7
#define ETEKCITY_REPORT_ID_SPEED_SETTING 8
#define ETEKCITY_REPORT_ID_MACRO 9
#define ETEKCITY_REPORT_SIZE_PROFILE 50
#define ETEKCITY_REPORT_SIZE_SETTINGS 40
#define ETEKCITY_REPORT_SIZE_SPEED_SETTING 6
#define ETEKCITY_REPORT_SIZE_MACRO 130
#define ETEKCITY_CONFIG_SETTINGS 0x10
@@ -86,6 +88,7 @@ struct etekcity_data {
uint8_t profiles[(ETEKCITY_PROFILE_MAX + 1)][ETEKCITY_REPORT_SIZE_PROFILE];
struct etekcity_settings_report settings[(ETEKCITY_PROFILE_MAX + 1)];
struct etekcity_macro macros[(ETEKCITY_PROFILE_MAX + 1)][(ETEKCITY_BUTTON_MAX + 1)];
uint8_t speed_setting[ETEKCITY_REPORT_SIZE_SPEED_SETTING];
};
static char *
@@ -689,6 +692,12 @@ etekcity_probe(struct ratbag_device *device, const struct ratbag_id id)
ratbag_set_drv_data(device, drv_data);
/* retrieve the "on-to-go" speed setting */
rc = ratbag_hidraw_raw_request(device, ETEKCITY_REPORT_ID_SPEED_SETTING,
drv_data->speed_setting, ETEKCITY_REPORT_SIZE_SPEED_SETTING,
HID_FEATURE_REPORT, HID_REQ_GET_REPORT);
log_debug(device->ratbag, "device is at %d ms of latency\n", drv_data->speed_setting[2]);
/* profiles are 0-indexed */
ratbag_device_init_profiles(device, ETEKCITY_PROFILE_MAX + 1, ETEKCITY_BUTTON_MAX + 1);