#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
	>;
		};
	};
};