summaryrefslogtreecommitdiff
path: root/pjrc/usb_extra.h
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2011-02-09 00:03:58 +0900
committertmk <nobody@nowhere>2011-02-22 03:08:59 +0900
commitacc974c64b1e17e6807133fdc50de5bb34aedda5 (patch)
tree7af7511a56d680a4d93b535c52891a8ffc15dd04 /pjrc/usb_extra.h
parent5552b5afeaa9ce7432f9ded3586984253f292d80 (diff)
added protocol stack: pjrc, vusb
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 0000000000..d6f9e8ba0a
--- /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