Add description of keyboard report in report.h
authortmk <nobody@nowhere>
Mon, 16 Dec 2013 12:56:44 +0000 (21:56 +0900)
committertmk <nobody@nowhere>
Mon, 16 Dec 2013 12:56:44 +0000 (21:56 +0900)
common/report.h

index 91982840af441a775c88be4171c293ec1bbec1d5..71543cc23fa341ad77c2453913e6d0f9b4b34224 100644 (file)
@@ -94,6 +94,26 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 extern "C" {
 #endif
 
+/*
+ * keyboard report is 8-byte array retains state of 8 modifiers and 6 keys.
+ *
+ * byte |0       |1       |2       |3       |4       |5       |6       |7
+ * -----+--------+--------+--------+--------+--------+--------+--------+--------
+ * desc |mods    |reserved|keys[0] |keys[1] |keys[2] |keys[3] |keys[4] |keys[5]
+ *
+ * It is exended to 16 bytes to retain 120keys+8mods when NKRO mode.
+ *
+ * byte |0       |1       |2       |3       |4       |5       |6       |7        ... |15
+ * -----+--------+--------+--------+--------+--------+--------+--------+--------     +--------
+ * desc |mods    |bits[0] |bits[1] |bits[2] |bits[3] |bits[4] |bits[5] |bits[6]  ... |bit[14]
+ *
+ * mods retains state of 8 modifiers.
+ *
+ *  bit |0       |1       |2       |3       |4       |5       |6       |7
+ * -----+--------+--------+--------+--------+--------+--------+--------+--------
+ * desc |Lcontrol|Lshift  |Lalt    |Lgui    |Rcontrol|Rshift  |Ralt    |Rgui
+ *
+ */
 typedef union {
     uint8_t raw[REPORT_SIZE];
     struct {
Imprint / Impressum