diff options
author | Pete Johanson <peter@peterjohanson.com> | 2020-06-15 17:03:34 -0400 |
---|---|---|
committer | Pete Johanson <peter@peterjohanson.com> | 2020-06-15 17:03:34 -0400 |
commit | 1751470785a110729afc01f3947b406bc40ceb43 (patch) | |
tree | 6764aaafb2856f086b519d966fe525937a3ca511 /app/include/dt-bindings/zmk/keymap-transform.h | |
parent | 0712dadd2953a429de57c9c44aa1f9429112d809 (diff) |
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.
Diffstat (limited to 'app/include/dt-bindings/zmk/keymap-transform.h')
-rw-r--r-- | app/include/dt-bindings/zmk/keymap-transform.h | 13 |
1 files changed, 13 insertions, 0 deletions
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 <zmk/util.h> + +#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 |