zmk_mf68/app/boards/shields/kyria/keymaps/default/keymap.overlay
Pete Johanson 1751470785 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.
2020-06-15 17:03:34 -04:00

50 lines
1.4 KiB
Text

#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/keymap-transform.h>
#include <keymap.h>
/ {
chosen {
zmk,keymap = &keymap0;
};
keymap0: keymap {
compatible = "zmk,keymap";
label ="Default Kyria Keymap";
layers = <&default>;
transform = <&default_transform>;
};
default_transform: keymap_transform_0 {
compatible = "zmk,keymap-transform";
map = <
IDENTITY_ROW(0, 6) OFFSET_ROW(6, 0, 6)
IDENTITY_ROW(1, 6) OFFSET_ROW(6, 1, 6)
IDENTITY_ROW(2, 8) OFFSET_ROW(8, 2, 8)
OFFSET_ROW(3, 3, 5) OFFSET_ROW(8, 3, 5)
>;
};
five_column_transform: keymap_transform_1 {
compatible = "zmk,keymap-transform";
map = <
IDENTITY_ROW(0, 5) OFFSET_ROW(5, 0, 5)
IDENTITY_ROW(1, 5) OFFSET_ROW(6, 1, 5)
IDENTITY_ROW(2, 7) OFFSET_ROW(7, 2, 7)
OFFSET_ROW(2, 3, 5) OFFSET_ROW(7, 3, 5)
>;
};
layers {
compatible = "zmk,layers";
default: layer_0 {
label = "DEFAULT";
keys = <
KC_ESC KC_Q KC_W KC_E KC_R KC_T KC_Y KC_U KC_I KC_O KC_P KC_PIPE
KC_BKSP KC_A KC_S KC_D KC_F KC_G KC_H KC_J KC_K KC_L KC_SCLN KC_QUOT
KC_LSFT KC_Z KC_X KC_C KC_V KC_B KC_LSFT KC_LSFT KC_LSFT KC_LSFT KC_N KC_M KC_CMMA KC_DOT KC_BSLH KC_MIN
KC_LGUI KC_DEL KC_RET KC_SPC KC_ESC KC_RET KC_SPC KC_TAB KC_BKSP KC_RALT
>;
};
};
};