diff options
| author | Armando Magalhães <armando.mag95@gmail.com> | 2021-03-25 08:06:30 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-25 18:06:30 +1100 |
| commit | c59fb1b477c4877fc29aeec8fe5f98dbf8788369 (patch) | |
| tree | 25d838841c55e1f06195feaaf3f5a43bc7c0672b | |
| parent | e7cb7bc7373031625c604dfb93bdb8717b71f013 (diff) | |
| download | qmk_firmware-c59fb1b477c4877fc29aeec8fe5f98dbf8788369.tar.gz qmk_firmware-c59fb1b477c4877fc29aeec8fe5f98dbf8788369.zip | |
feat(keymaps): Changes to crkbd/keymaps/armand1m layout and README.md update (#12252)
Co-authored-by: Ryan <fauxpark@gmail.com>
| -rw-r--r-- | keyboards/crkbd/keymaps/armand1m/config.h | 3 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/armand1m/keymap.c | 68 | ||||
| -rw-r--r-- | keyboards/crkbd/keymaps/armand1m/readme.md | 31 |
3 files changed, 72 insertions, 30 deletions
diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h index df109a347..405d32964 100644 --- a/keyboards/crkbd/keymaps/armand1m/config.h +++ b/keyboards/crkbd/keymaps/armand1m/config.h | |||
| @@ -45,4 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 45 | #define RGBLIGHT_VAL_STEP 17 | 45 | #define RGBLIGHT_VAL_STEP 17 |
| 46 | #endif | 46 | #endif |
| 47 | 47 | ||
| 48 | #define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */ | ||
| 49 | #define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */ | ||
| 50 | |||
| 48 | #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" | 51 | #define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" |
diff --git a/keyboards/crkbd/keymaps/armand1m/keymap.c b/keyboards/crkbd/keymaps/armand1m/keymap.c index da68cc2de..420661e59 100644 --- a/keyboards/crkbd/keymaps/armand1m/keymap.c +++ b/keyboards/crkbd/keymaps/armand1m/keymap.c | |||
| @@ -19,48 +19,58 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 19 | 19 | ||
| 20 | #include QMK_KEYBOARD_H | 20 | #include QMK_KEYBOARD_H |
| 21 | 21 | ||
| 22 | enum custom_keycodes { | ||
| 23 | ARROW_FUNCTION = SAFE_RANGE | ||
| 24 | }; | ||
| 25 | |||
| 26 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 27 | switch (keycode) { | ||
| 28 | case ARROW_FUNCTION: | ||
| 29 | if (record->event.pressed) { | ||
| 30 | SEND_STRING("() => {}"); | ||
| 31 | } else { | ||
| 32 | SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_ENTER)); | ||
| 33 | } | ||
| 34 | return false; | ||
| 35 | } | ||
| 36 | |||
| 37 | return true; | ||
| 38 | }; | ||
| 39 | |||
| 22 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 40 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 23 | [0] = LAYOUT_split_3x6_3( | 41 | [0] = LAYOUT_split_3x6_3( |
| 24 | //,-----------------------------------------------------. ,-----------------------------------------------------. | 42 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
| 25 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | 43 | LT(1, KC_ESC), LT(2, KC_A), LT(3, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, |
| 26 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | 44 | OSM(MOD_LSFT), MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), OSM(MOD_RSFT), |
| 27 | LT(1, KC_ESC), LT(2, KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | 45 | KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), MO(2), KC_RALT |
| 28 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | ||
| 29 | KC_LSFT, MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), KC_RSFT, | ||
| 30 | //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| | ||
| 31 | KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), LT(2, KC_BSPC), KC_RALT | ||
| 32 | //`--------------------------' '--------------------------´ | ||
| 33 | ), | 46 | ), |
| 34 | 47 | ||
| 35 | [1] = LAYOUT_split_3x6_3( | 48 | [1] = LAYOUT_split_3x6_3( |
| 36 | //,-----------------------------------------------------. ,-----------------------------------------------------. | 49 | _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, |
| 37 | _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, | 50 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _______, |
| 38 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | 51 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, |
| 39 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, _______, | 52 | _______, _______, _______, _______, _______, _______ |
| 40 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | ||
| 41 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, | ||
| 42 | //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| | ||
| 43 | _______, _______, _______, _______, _______, _______ | ||
| 44 | //`--------------------------' '--------------------------´ | ||
| 45 | ), | 53 | ), |
| 46 | 54 | ||
| 47 | [2] = LAYOUT_split_3x6_3( | 55 | [2] = LAYOUT_split_3x6_3( |
| 48 | //,-----------------------------------------------------. ,-----------------------------------------------------. | 56 | _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, |
| 49 | _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, | 57 | _______, XXXXXXX, XXXXXXX, XXXXXXX, ARROW_FUNCTION, KC_LT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, |
| 50 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | 58 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GT, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, |
| 51 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, | 59 | _______, _______, _______, _______, _______, _______ |
| 52 | //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| | 60 | ), |
| 53 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, | 61 | |
| 54 | //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| | 62 | [3] = LAYOUT_split_3x6_3( |
| 55 | _______, _______, _______, _______, _______, _______ | 63 | _______, XXXXXXX, XXXXXXX, XXXXXXX, LALT(LSFT(KC_0)), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(LSFT(KC_4)), XXXXXXX, |
| 56 | //`--------------------------' '--------------------------´ | 64 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(KC_MINS), LGUI(KC_PLUS), XXXXXXX, XXXXXXX, XXXXXXX, |
| 57 | ) | 65 | _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
| 66 | _______, _______, _______, _______, _______, _______ | ||
| 67 | ), | ||
| 58 | }; | 68 | }; |
| 59 | 69 | ||
| 60 | #ifdef OLED_DRIVER_ENABLE | 70 | #ifdef OLED_DRIVER_ENABLE |
| 61 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { | 71 | oled_rotation_t oled_init_user(oled_rotation_t rotation) { |
| 62 | if (!is_master) { | 72 | if (!is_master) { |
| 63 | return OLED_ROTATION_180; // flips the display 180 degrees if offhand | 73 | return OLED_ROTATION_180; // flips the display 180 degrees if offhand |
| 64 | } | 74 | } |
| 65 | return rotation; | 75 | return rotation; |
| 66 | } | 76 | } |
diff --git a/keyboards/crkbd/keymaps/armand1m/readme.md b/keyboards/crkbd/keymaps/armand1m/readme.md index 11479263b..0d10ae17d 100644 --- a/keyboards/crkbd/keymaps/armand1m/readme.md +++ b/keyboards/crkbd/keymaps/armand1m/readme.md | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | # armand1m crkbd layout | 1 | # armand1m crkbd layout |
| 2 | 2 | ||
| 3 | This is the personal layout for [@armand1m](https://github.com/armand1m) | 3 | This is the personal layout for [@armand1m](https://go.d1m.dev/github) |
| 4 | 4 | ||
| 5 | This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage. | 5 | This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage. |
| 6 | 6 | ||
| @@ -8,6 +8,35 @@ As of the date of this writing, my environment runs OS X Big Sur with yabai and | |||
| 8 | 8 | ||
| 9 | I am a huge fan of ModTaps, so this layout will contain some of those to allow for a better experience in such a small keyboard like the crkbd. | 9 | I am a huge fan of ModTaps, so this layout will contain some of those to allow for a better experience in such a small keyboard like the crkbd. |
| 10 | 10 | ||
| 11 | ## Layout | ||
| 12 | |||
| 13 | You can find `json` files for http://www.keyboard-layout-editor.com/ in the keymap folder. | ||
| 14 | |||
| 15 | Here are some screenshots for convenience: | ||
| 16 | |||
| 17 | Base Layer:<br/> | ||
| 18 | <a href="https://ibb.co/fYZw3yj"><img src="https://i.ibb.co/0j1b06H/Screen-Shot-2021-03-15-at-4-58-43-PM.png" alt="Base Layer" border="0"></a> | ||
| 19 | |||
| 20 | Numbers Layer:<br/> | ||
| 21 | <a href="https://ibb.co/30Vg1tS"><img src="https://i.ibb.co/hKr3sp2/Screen-Shot-2021-03-15-at-5-18-07-PM.png" alt="Numbers Layer" border="0"></a> | ||
| 22 | |||
| 23 | Symbols Layer:<br/> | ||
| 24 | <a href="https://ibb.co/ryCg4pS"><img src="https://i.ibb.co/q1tzkgf/Screen-Shot-2021-03-15-at-5-18-33-PM.png" alt="Symbols Layer" border="0"></a> | ||
| 25 | |||
| 26 | ## Choices | ||
| 27 | |||
| 28 | Every keymap is pretty unique and tailored to suit it's main creators needs. Here are some of my choices for the keys and their explanations: | ||
| 29 | |||
| 30 | - Left thumb acts as Space when tapping but as Command when holding: this makes my life so much easier in OS X. Having command reachable all the time just feels right to me and Mod Taps help me a lot on this. | ||
| 31 | |||
| 32 | - Right thumb acts as Enter when tapping but as Right Shift when holding: this is more of an experiment. I usually use shift on my pinkies. It is an interesting feature but I often forget about it. | ||
| 33 | |||
| 34 | - Esc lives in the home row, before A. It also acts as a layer toggle to the numbers layer when held. Having the LT to the numbers layer here allows me to actually reach the number 1 pretty nicely and other numbers on the left hand pretty easily. | ||
| 35 | |||
| 36 | - Keys on the home row are used to switch to layers, so "A" goes to layer 2 when held. I started making this in the Moonlander and migrated the practice, but still sometimes I use the MO 2 on the right thumb. | ||
| 37 | |||
| 38 | - One Shot Keys are enabled for the shifts on the pinkies. If you press it twice: it will lock on shift until pressed again (pretty much like caps lock). These are handy when you're typing and just don't want to hold shift to have a capitalized word. | ||
| 39 | |||
| 11 | ## Usage | 40 | ## Usage |
| 12 | 41 | ||
| 13 | In case you have `qmk` installed: | 42 | In case you have `qmk` installed: |
