summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-12-16 13:56:44 +0100
committertmk <nobody@nowhere>2013-12-16 13:56:44 +0100
commitac1acca8d749092d2a4beffb6da327b5288f52b6 (patch)
treed13f19da0b30966cf7ad413346fb150ae3286c1e /common
parentc9dee36e42ca56bda91d07071bd4251dbba23009 (diff)
downloadqmk_firmware-ac1acca8d749092d2a4beffb6da327b5288f52b6.tar.gz
qmk_firmware-ac1acca8d749092d2a4beffb6da327b5288f52b6.tar.xz
Add description of keyboard report in report.h
Diffstat (limited to 'common')
-rw-r--r--common/report.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/report.h b/common/report.h
index 91982840a..71543cc23 100644
--- a/common/report.h
+++ b/common/report.h
@@ -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 {