summaryrefslogtreecommitdiff
path: root/hw/usb/hid-logitech-dj.h
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-03-23 17:00:54 +0100
committerPeter Wu <peter@lekensteyn.nl>2014-03-23 17:00:54 +0100
commit7c530e39d3f61761f4f5b97b4f61c83773151413 (patch)
tree5774564715981c24f2a594ea1310044777ac8eb0 /hw/usb/hid-logitech-dj.h
parent7692e3db0ac2d2790b85c494da31fec7f4c59ab6 (diff)
downloadqemu-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.h12
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