#include <stdint.h>
#include <stdbool.h>
+#include "action.h"
-/* keycode in specific layer */
+// TODO: move to action.h?
+/* layer used currently */
+extern uint8_t current_layer;
+/* layer to return or start with */
+extern uint8_t default_layer;
+
+
+/* action for key */
+// TODO: should use struct key_t?
+action_t keymap_get_action(uint8_t layer, uint8_t row, uint8_t col);
+
+/* user defined special function */
+void keymap_call_function(keyrecord_t *record, uint8_t id, uint8_t opt);
+
+
+#ifndef NO_LEGACY_KEYMAP_SUPPORT
+/* keycode of key */
uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col);
/* layer to move during press Fn key */
/* keycode to send when release Fn key without using */
uint8_t keymap_fn_keycode(uint8_t fn_bits);
+#endif
#endif