diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-03-23 17:00:54 +0100 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2014-03-23 17:00:54 +0100 |
commit | 7c530e39d3f61761f4f5b97b4f61c83773151413 (patch) | |
tree | 5774564715981c24f2a594ea1310044777ac8eb0 /hw/usb/hid-logitech-dj.h | |
parent | 7692e3db0ac2d2790b85c494da31fec7f4c59ab6 (diff) | |
download | qemu-7c530e39d3f61761f4f5b97b4f61c83773151413.tar.gz |
unifying: interface with HID++ 2.0 features
Prepare for adding more HID++ 2.0 features.
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 |