summaryrefslogtreecommitdiff
path: root/keyboards/handwired/alcor_dactyl/keymaps/colemak_dh/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/handwired/alcor_dactyl/keymaps/colemak_dh/keymap.c')
-rw-r--r--keyboards/handwired/alcor_dactyl/keymaps/colemak_dh/keymap.c100
1 files changed, 100 insertions, 0 deletions
diff --git a/keyboards/handwired/alcor_dactyl/keymaps/colemak_dh/keymap.c b/keyboards/handwired/alcor_dactyl/keymaps/colemak_dh/keymap.c
new file mode 100644
index 0000000000..8d41611402
--- /dev/null
+++ b/keyboards/handwired/alcor_dactyl/keymaps/colemak_dh/keymap.c
@@ -0,0 +1,100 @@
+// Copyright 2022 Ethan (@rocketstrong)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+
+/*
+ * ┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐
+ *┌────┐┌──┐│ ││ ││ ││ ││ │ │ ││ ││ ││ ││ │┌──┐┌────┐
+ *│ ││ │└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘│ ││ │
+ *└────┘└──┘┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐└──┘└────┘
+ *┌────┐┌──┐│ ││ ││ ││ ││ │ │ ││ ││ ││ ││ │┌──┐┌────┐
+ *│ ││ │└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘│ ││ │
+ *└────┘└──┘┌──┐┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐┌──┐└──┘└────┘
+ *┌────┐┌──┐│ ││ ││ ││ ││ │ │ ││ ││ ││ ││ │┌──┐┌────┐
+ *│ ││ │└──┘└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘└──┘│ ││ │
+ *└────┘└──┘┌──┐┌──┐┌──┐┌──┐ ┌──┐┌──┐┌──┐┌──┐└──┘└────┘
+ *┌────┐┌──┐│ ││ ││ ││ │ │ ││ ││ ││ │┌──┐┌────┐
+ *│ ││ │└──┘└──┘└──┘└──┘ └──┘└──┘└──┘└──┘│ ││ │
+ *└────┘└──┘┌──┐┌──┐ ┌──┐┌──┐└──┘└────┘
+ * ┌──┐┌──┐│ ││ │ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │ ││ │┌──┐┌──┐
+ * │ ││ │└──┘└──┘ │ │ │ │ │ │ │ │ └──┘└──┘│ ││ │
+ * └──┘└──┘ │ │ │ │ │ │ │ │ └──┘└──┘
+ * │ │ └──┘ └──┘ │ │
+ * └──┘ ┌──┐ ┌──┐ ┌──┐ ┌──┐ └──┘
+ * │ │ │ │ │ │ │ │
+ * └──┘ └──┘ └──┘ └──┘
+ * ┌──┐┌──┐ ┌──┐┌──┐
+ * │ ││ │ │ ││ │
+ * └──┘└──┘ └──┘└──┘
+ */
+
+enum Colemaklayers {
+ _ARSTG,
+ _NUMPAD,
+ _SYMBOLS
+};
+
+enum custom_keycodes {
+ AD_DDS = SAFE_RANGE,
+ AD_SCOPE
+};
+
+#define TT_NUM TT(_NUMPAD)
+#define TT_SYM TT(_SYMBOLS)
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case AD_DDS:
+ if (!record->event.pressed) {
+ // when keycode AD_DDS is pressed
+ SEND_STRING("../");
+ } else {
+ // when keycode AD_DDS is released
+ }
+ break;
+ case AD_SCOPE:
+ if (!record->event.pressed) {
+ // when keycode AD_DDS is pressed
+ SEND_STRING("::");
+ } else {
+ // when keycode AD_DDS is released
+ }
+ break;
+ }
+ return true;
+}
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_ARSTG] = LAYOUT(
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MINS , KC_EQL , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC ,
+ KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_LBRC , KC_RBRC , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSLS ,
+ KC_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_PSCR , KC_PAUS , KC_M , KC_N , KC_E , KC_I , KC_O , KC_QUOT ,
+ KC_LSFT , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_K , KC_H , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT ,
+ KC_LCTL , KC_LGUI , KC_LALT , KC_DEL , KC_LEFT , KC_UP , KC_DOWN , KC_RIGHT,
+ KC_SPC , KC_BSPC , KC_TAB , KC_ENT ,
+ TT_NUM , KC_LSFT , KC_RSFT , TT_SYM ,
+ KC_LCTL , KC_LALT , KC_RALT , KC_RCTL
+ ),
+ [_NUMPAD] = LAYOUT(
+ KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NO ,
+ KC_TRNS , KC_PGUP , KC_HOME , KC_UP , KC_END , KC_NO , KC_NO , KC_NO , KC_NUM , KC_P7 , KC_P8 , KC_P9 , KC_PMNS , KC_NO ,
+ KC_TRNS , KC_PGDN , KC_LEFT , KC_DOWN , KC_RIGHT, KC_NO , KC_TRNS , KC_TRNS , KC_PSLS , KC_P4 , KC_P5 , KC_P6 , KC_PPLS , KC_NO ,
+ KC_TRNS , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_PAST , KC_P1 , KC_P2 , KC_P3 , KC_PEQL , KC_NO ,
+ KC_TRNS , KC_NO , KC_NO , KC_NO , KC_P0 , KC_PDOT , KC_PCMM , KC_NO ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_PENT ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , QK_BOOT , KC_TRNS , KC_TRNS
+ ),
+ [_SYMBOLS] = LAYOUT(
+ KC_NO , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NO ,
+ KC_TRNS , KC_QUOT , KC_LT , KC_GT , KC_DQT , KC_DOT , KC_NO , KC_NO , KC_AMPR , AD_SCOPE, KC_LBRC , KC_RBRC , KC_PERC , KC_NO ,
+ KC_TRNS , KC_EXLM , KC_MINS , KC_PLUS , KC_EQL , KC_HASH , KC_NO , KC_NO , KC_PIPE , KC_COLN , KC_LPRN , KC_RPRN , KC_QUES , KC_NO ,
+ KC_TRNS , KC_CIRC , KC_SLSH , KC_ASTR , KC_BSLS , AD_DDS , KC_TILD , KC_DLR , KC_LCBR , KC_RCBR , KC_AT , KC_NO ,
+ KC_TRNS , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_PENT ,
+ KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
+ KC_TRNS , KC_TRNS , QK_BOOT , KC_TRNS
+ )
+};