aboutsummaryrefslogtreecommitdiff
path: root/keyboards/atreus62
diff options
context:
space:
mode:
author194h <38110558+194h@users.noreply.github.com>2018-10-25 19:04:48 +0200
committerDrashna Jaelre <drashna@live.com>2018-10-25 10:04:48 -0700
commitffb2557a3aac1e5c943b1e6242c3a693da68d8ee (patch)
tree47b2e2de8bf76907e19f4bcfd65024f5aec44676 /keyboards/atreus62
parenta5b10e5da24cb52c04dddc9168d5e7590fb749d2 (diff)
downloadqmk_firmware-ffb2557a3aac1e5c943b1e6242c3a693da68d8ee.tar.gz
qmk_firmware-ffb2557a3aac1e5c943b1e6242c3a693da68d8ee.zip
Keymap: Updated my(194h) keymap to make it more clean and useful (#4236)
* Added my(194h) atreus62 keymap * Fixed what noroadsleft remarked in my pull request, hopefully got it all. * Followed drashna's suggestion. * Removed unused functionality from my keymap, added tap dance æøå and changed Layer 1 and Layer 2 * Removed unused functionality from my keymap, added tap dance æøå and changed Layer 1 and Layer 2
Diffstat (limited to 'keyboards/atreus62')
-rw-r--r--keyboards/atreus62/keymaps/194h/keymap.c109
-rw-r--r--keyboards/atreus62/keymaps/194h/rules.mk5
2 files changed, 51 insertions, 63 deletions
diff --git a/keyboards/atreus62/keymaps/194h/keymap.c b/keyboards/atreus62/keymaps/194h/keymap.c
index 9b397fce4..1d069e9d4 100644
--- a/keyboards/atreus62/keymaps/194h/keymap.c
+++ b/keyboards/atreus62/keymaps/194h/keymap.c
@@ -39,6 +39,7 @@
39//Norwegian layout - dependant on previous definitions 39//Norwegian layout - dependant on previous definitions
40#define NO_UNDS LSFT(NO_MINS) // _ 40#define NO_UNDS LSFT(NO_MINS) // _
41#define NO_QUES LSFT(NO_PLUS) // ? 41#define NO_QUES LSFT(NO_PLUS) // ?
42#define NO_ACUT RALT(NO_BSLS) // Acute
42#define NO_GRAV LSFT(NO_BSLS) // ` 43#define NO_GRAV LSFT(NO_BSLS) // `
43#define NO_GT LSFT(NO_LT) // > 44#define NO_GT LSFT(NO_LT) // >
44#define NO_HALF RALT(NO_LT) // ½ 45#define NO_HALF RALT(NO_LT) // ½
@@ -56,6 +57,9 @@
56#define OSM_RSFT OSM(MOD_RSFT) 57#define OSM_RSFT OSM(MOD_RSFT)
57#define OSM_RGUI OSM(MOD_RGUI) 58#define OSM_RGUI OSM(MOD_RGUI)
58 59
60//CTRL on hold, ESC on tap
61#define CTL_ESC CTL_T(KC_ESC)
62
59//Layers 63//Layers
60#define L1 0 64#define L1 0
61#define L2 1 65#define L2 1
@@ -63,23 +67,51 @@
63#define L4 3 67#define L4 3
64#define L5 4 68#define L5 4
65 69
70// Momentary switch to layer
71#define MO_L2 MO(L2)
72#define MO_L4 MO(L4)
73#define MO_L5 MO(L5)
66// Momentary switch to layer - One Shot Layer 74// Momentary switch to layer - One Shot Layer
75#define OSL_L2 OSL(L2)
67#define OSL_L3 OSL(L3) 76#define OSL_L3 OSL(L3)
68#define OSL_L4 OSL(L4) 77#define OSL_L4 OSL(L4)
69 78
79//Tap Dance Declarations
80enum {
81 SCLN_OE = 0,
82 QUOT_AE,
83 DQT_AO
84};
85
86//Tap Dance Definitions
87qk_tap_dance_action_t tap_dance_actions[] = {
88 //Tap once for semicolon, twice for ø
89 [SCLN_OE] = ACTION_TAP_DANCE_DOUBLE(NO_SCLN, NO_OE),
90 //Tap once for single quote, twice for æ
91 [QUOT_AE] = ACTION_TAP_DANCE_DOUBLE(NO_QUOT, NO_AE),
92 //Tap once for double quote, twice for å
93 [DQT_AO] = ACTION_TAP_DANCE_DOUBLE(NO_DQT, NO_AO),
94// Other declarations would go here, separated by commas, if you have them
95};
96
97//Tap Dance keys
98#define TD_SCLN_OE TD(SCLN_OE)
99#define TD_QUOT_AE TD(QUOT_AE)
100#define TD_DQT_AO TD(DQT_AO)
101
70const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 102const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71 103
72 [L1] = LAYOUT( 104 [L1] = LAYOUT(
73 KC_LGUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RGUI, 105 KC_LGUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RGUI,
74 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_DQT, 106 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, TD_DQT_AO,
75 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_SCLN, NO_QUOT, 107 KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, TD_SCLN_OE, TD_QUOT_AE,
76 OSM_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, OSM_RSFT, 108 OSM_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, NO_MINS, OSM_RSFT,
77 CTL_T(KC_ESC), MO(L5), KC_LEAD, OSM_LALT, MO(L4), OSL_L3, KC_SPC, KC_ENT, OSL_L3, MO(L4), OSM_RALT, NO_EQL, NO_PLUS, KC_RCTL 109 CTL_ESC, MO_L5, KC_TAB, OSM_LALT, MO_L4, OSL_L3, KC_SPC, KC_ENT, OSL_L3, MO_L4, OSM_LALT, NO_EQL, NO_PLUS, KC_RCTL
78 ), 110 ),
79 [L2] = LAYOUT( 111 [L2] = LAYOUT(
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 112 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_AO, 113 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_DQT,
82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_OE, NO_AE, 114 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NO_SCLN, NO_QUOT,
83 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 116 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
85 ), 117 ),
@@ -95,66 +127,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
95 XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX, 127 XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX,
96 _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, KC_DEL, 128 _______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, KC_DEL,
97 XXXXXXX, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX, 129 XXXXXXX, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, KC_VOLD, XXXXXXX,
98 OSM_LCTL, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MUTE, KC_VOLU, OSM_RCTL 130 OSM_LCTL, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, OSM_RALT, KC_MUTE, KC_VOLU, OSM_RCTL
99 ), 131 ),
100 [L5] = LAYOUT( 132 [L5] = LAYOUT(
101 XXXXXXX, TO(L1), TO(L2), TO(L3), TO(L4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 133 XXXXXXX, TO(L1), TO(L2), TO(L3), TO(L4), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
102 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NO_AO, 134 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
103 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, NO_OE, NO_AE, 135 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
104 XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 136 XXXXXXX, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
105 XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX 137 XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
106 ) 138 )
107}; 139};
108 140
109 141//TODO: Is there productivity gain in the use of unicode?
110// Unicode Linux 142// - Won't work in xterm.
111void matrix_init_user(void) { 143// Create a layer for macros and/or unicode?
112 set_unicode_input_mode(UC_LNX); 144// Are macros useful?
113}; 145// - Found no gain in having sendstring for commands.
114 146// - Find repeated tasks that cannot be done easily on the OS.
115 147// - Most other keymaps have macros for game/fun stuff, hard to find "serious" onces.
116#define TAP_ONCE(code) \ 148// Screw Norwegian layout, switch to US with unicode æøå or US/English International?
117 register_code (code); \ 149// - Will be different from laptop keyboard, requiring a switch on the OS side when only using the laptop.
118 unregister_code (code)
119
120
121LEADER_EXTERNS();
122
123// Runs constantly in the background, in a loop. Only supports basic keycodes.
124void matrix_scan_user(void) {
125 LEADER_DICTIONARY() {
126 leading = false;
127 leader_end();
128
129 //probably useless in practice, but cool
130 SEQ_ONE_KEY (KC_P) {
131 tap_random_base64();
132 tap_random_base64();
133 tap_random_base64();
134 tap_random_base64();
135 tap_random_base64();
136 tap_random_base64();
137 tap_random_base64();
138 tap_random_base64();
139 }
140
141 SEQ_ONE_KEY (KC_G) {
142 SEND_STRING("grep something !");
143 register_code(KC_RALT);
144 TAP_ONCE(KC_4);
145 unregister_code(KC_RALT);
146 }
147 SEQ_ONE_KEY (KC_T) {
148 SEND_STRING("tail ");
149 TAP_ONCE(KC_SLSH);
150 SEND_STRING("f !");
151 register_code(KC_RALT);
152 TAP_ONCE(KC_4);
153 unregister_code(KC_RALT);
154 }
155 SEQ_ONE_KEY (KC_S) {
156 SEND_STRING("sudo !!");
157 TAP_ONCE(KC_ENT);
158 }
159 }
160}
diff --git a/keyboards/atreus62/keymaps/194h/rules.mk b/keyboards/atreus62/keymaps/194h/rules.mk
index 5246909a3..2c97aee09 100644
--- a/keyboards/atreus62/keymaps/194h/rules.mk
+++ b/keyboards/atreus62/keymaps/194h/rules.mk
@@ -1,8 +1,7 @@
1TAP_DANCE_ENABLE = no 1TAP_DANCE_ENABLE = yes
2NKRO_ENABLE = true 2NKRO_ENABLE = true
3MOUSEKEY_ENABLE = no 3MOUSEKEY_ENABLE = no
4EXTRAKEY_ENABLE = yes 4EXTRAKEY_ENABLE = yes
5CONSOLE_ENABLE = no 5CONSOLE_ENABLE = no
6KEY_LOCK_ENABLE = no 6KEY_LOCK_ENABLE = no
7AUTO_SHIFT_ENABLE = no 7LEADER_ENABLE = no
8LEADER_ENABLE = yes