From 1751470785a110729afc01f3947b406bc40ceb43 Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Mon, 15 Jun 2020 17:03:34 -0400 Subject: Initial work on keymap transforms for non-standard matrixes. * Allows "gaps" for keyboards like Kyra. * Allows keyboards with matrixes that don't map the logical key locations to have normal looking keymaps when defined. --- app/include/dt-bindings/zmk/keymap-transform.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 app/include/dt-bindings/zmk/keymap-transform.h (limited to 'app/include/dt-bindings') diff --git a/app/include/dt-bindings/zmk/keymap-transform.h b/app/include/dt-bindings/zmk/keymap-transform.h new file mode 100644 index 0000000..af19c21 --- /dev/null +++ b/app/include/dt-bindings/zmk/keymap-transform.h @@ -0,0 +1,13 @@ + +#include + +#define KT_ROW(item) (item >> 8) +#define KT_COL(item) (item & 0xFF) + +#define _ROW_COL(row, col) (((row) << 8) + (col)) + +#define _IDENTITY_ENTRY(col, row) _ROW_COL(row, col) +#define IDENTITY_ROW(row, count) UTIL_LISTIFY(count, _IDENTITY_ENTRY, row) + +#define _OFFSET_ENTRY(col, offset, row) _ROW_COL(row, col + offset) +#define OFFSET_ROW(offset, row, count) UTIL_LISTIFY(count, _OFFSET_ENTRY, offset, row) \ No newline at end of file -- cgit v1.2.3