diff options
Diffstat (limited to 'hw/usb/hid-logitech-dj.h')
-rw-r--r-- | hw/usb/hid-logitech-dj.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/hw/usb/hid-logitech-dj.h b/hw/usb/hid-logitech-dj.h index de46a74453..83cb33b8aa 100644 --- a/hw/usb/hid-logitech-dj.h +++ b/hw/usb/hid-logitech-dj.h @@ -163,6 +163,9 @@ typedef struct { /* TODO: device firmware upgrade things? */ } LHidReceiver; +/* defined in hid-logitech-hidpp20.c */ +typedef struct HidppFeature HidppFeature; + typedef struct { struct { enum { @@ -185,7 +188,9 @@ typedef struct { char name[15]; uint8_t usability_info; /* bits 0..3 power switch location */ uint32_t report_types; /* supported report types (e.g. mouse) */ - /* TODO: feature set */ + + const HidppFeature *features; /* Note: feature_index is index - 1 */ + unsigned features_count; /* features count not including root */ /* TODO: special mouse and key button mappings */ } info; /* static information */ @@ -258,4 +263,9 @@ void usb_ltunify_handle_datain_hidpp(USBDevice *dev, USBPacket *p); void hidpp_reset(USBLtunifyState *s); void hidpp_init(USBLtunifyState *s); + +/* hid-logitech-hidpp20.c */ +void hidpp20_init_features(LHidDevice *hd); +/* return codes: negative: send error; 0: send nothing; positive: send output */ +int hidpp20_feature_call(LHidDevice *hd, Hidpp20Msg *func); #endif |