summaryrefslogtreecommitdiff
path: root/pjrc/usb_extra.h
diff options
context:
space:
mode:
Diffstat (limited to 'pjrc/usb_extra.h')
-rw-r--r--pjrc/usb_extra.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/pjrc/usb_extra.h b/pjrc/usb_extra.h
new file mode 100644
index 000000000..d6f9e8ba0
--- /dev/null
+++ b/pjrc/usb_extra.h
@@ -0,0 +1,34 @@
+#ifndef USB_EXTRA_H
+#define USB_EXTRA_H 1
+/*
+ * Enhanced keyboard features for Windows:
+ * Audio control and System control
+ *
+ * http://www.microsoft.com/whdc/archive/w2kbd.mspx
+ */
+
+#include <stdint.h>
+#include "usb.h"
+
+
+#define EXTRA_INTERFACE 3
+#define EXTRA_ENDPOINT 4
+#define EXTRA_SIZE 2
+#define EXTRA_BUFFER EP_DOUBLE_BUFFER
+
+
+// Consumer Page(0x0C) Consumer Control(0x01)
+#define AUDIO_VOL_UP (1<<0)
+#define AUDIO_VOL_DOWN (1<<1)
+#define AUDIO_MUTE (1<<2)
+
+// Generic Desktop Page(0x01) System Control(0x80)
+#define SYSTEM_POWER_DOWN (1<<0)
+#define SYSTEM_SLEEP (1<<1)
+#define SYSTEM_WAKE_UP (1<<2)
+
+
+int8_t usb_extra_audio_send(uint8_t bits);
+int8_t usb_extra_system_send(uint8_t bits);
+
+#endif