]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - common/keyboard.h
Merge branch 'hid_liber'
[max/tmk_keyboard.git] / common / keyboard.h
index 988dac36ed8b3b71c6b39acc56e2e108ec72a243..2353805e172df3a8ff0cfa01ca36ea7814c23055 100644 (file)
@@ -18,11 +18,43 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef KEYBOARD_H
 #define KEYBOARD_H
 
+#include <stdbool.h>
 #include <stdint.h>
 
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+    uint8_t row;
+    uint8_t col;
+} key_t;
+
+typedef struct {
+    key_t    key;
+    bool     pressed;
+} keyevent_t;
+
+typedef struct {
+    keyevent_t  event;
+    uint8_t     code;
+    uint8_t     mods;
+    uint16_t    time;
+} keyrecord_t;
+
+#define KEYEQ(keya, keyb)     (keya.row == keyb.row && keya.col == keyb.col)
+
+
+extern uint8_t current_layer;
+extern uint8_t default_layer;
+
 void keyboard_init(void);
-void keyboard_proc(void);
+void keyboard_task(void);
 void keyboard_set_leds(uint8_t leds);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif