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 From a65cdea66b412a5afeaa25a75801e69eb76212f4 Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Tue, 16 Jun 2020 16:21:39 -0400 Subject: Better naming, layout comments for clarity. --- app/include/dt-bindings/zmk/keymap-transform.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (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 index af19c21..6b12845 100644 --- a/app/include/dt-bindings/zmk/keymap-transform.h +++ b/app/include/dt-bindings/zmk/keymap-transform.h @@ -4,10 +4,10 @@ #define KT_ROW(item) (item >> 8) #define KT_COL(item) (item & 0xFF) -#define _ROW_COL(row, col) (((row) << 8) + (col)) +#define KT_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 _IDENTITY_ENTRY(col, row) KT_ROW_COL(row, col) +#define KT_ID_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 +#define _OFFSET_ENTRY(col, offset, row) KT_ROW_COL(row, col + offset) +#define KT_OFFSET_ROW(offset, row, count) UTIL_LISTIFY(count, _OFFSET_ENTRY, offset, row) \ No newline at end of file -- cgit v1.2.3 From 6b6ecb3b0c0cabdeb7f320e6b469f28de2a60664 Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Tue, 16 Jun 2020 21:32:11 -0400 Subject: Tweaks to remove "helper macros" * More direct transform maps were agreed to be clearer. * Remove helpers, just use simple `RC` macro to map a logical location to a row/column pair. --- app/include/dt-bindings/zmk/keymap-transform.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (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 index 6b12845..1ca0b9c 100644 --- a/app/include/dt-bindings/zmk/keymap-transform.h +++ b/app/include/dt-bindings/zmk/keymap-transform.h @@ -4,10 +4,4 @@ #define KT_ROW(item) (item >> 8) #define KT_COL(item) (item & 0xFF) -#define KT_ROW_COL(row, col) (((row) << 8) + (col)) - -#define _IDENTITY_ENTRY(col, row) KT_ROW_COL(row, col) -#define KT_ID_ROW(row, count) UTIL_LISTIFY(count, _IDENTITY_ENTRY, row) - -#define _OFFSET_ENTRY(col, offset, row) KT_ROW_COL(row, col + offset) -#define KT_OFFSET_ROW(offset, row, count) UTIL_LISTIFY(count, _OFFSET_ENTRY, offset, row) \ No newline at end of file +#define RC(row, col) (((row) << 8) + (col)) \ No newline at end of file -- cgit v1.2.3 From 1659562bb75e14476cbf94c0cbe2e536b7c7620a Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Tue, 16 Jun 2020 21:35:44 -0400 Subject: Rename keymap-transform to matrix-transform. * Clearer name to capture essence of the role of the transform. --- app/include/dt-bindings/zmk/keymap-transform.h | 7 ------- app/include/dt-bindings/zmk/matrix-transform.h | 5 +++++ 2 files changed, 5 insertions(+), 7 deletions(-) delete mode 100644 app/include/dt-bindings/zmk/keymap-transform.h create mode 100644 app/include/dt-bindings/zmk/matrix-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 deleted file mode 100644 index 1ca0b9c..0000000 --- a/app/include/dt-bindings/zmk/keymap-transform.h +++ /dev/null @@ -1,7 +0,0 @@ - -#include - -#define KT_ROW(item) (item >> 8) -#define KT_COL(item) (item & 0xFF) - -#define RC(row, col) (((row) << 8) + (col)) \ No newline at end of file diff --git a/app/include/dt-bindings/zmk/matrix-transform.h b/app/include/dt-bindings/zmk/matrix-transform.h new file mode 100644 index 0000000..4fd3e6c --- /dev/null +++ b/app/include/dt-bindings/zmk/matrix-transform.h @@ -0,0 +1,5 @@ + +#define KT_ROW(item) (item >> 8) +#define KT_COL(item) (item & 0xFF) + +#define RC(row, col) (((row) << 8) + (col)) \ No newline at end of file -- cgit v1.2.3