summaryrefslogtreecommitdiff
path: root/keyboards/crkbd/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd/keymaps')
-rw-r--r--keyboards/crkbd/keymaps/armand1m/config.h3
-rw-r--r--keyboards/crkbd/keymaps/armand1m/keymap.c68
-rw-r--r--keyboards/crkbd/keymaps/armand1m/readme.md31
3 files changed, 72 insertions, 30 deletions
diff --git a/keyboards/crkbd/keymaps/armand1m/config.h b/keyboards/crkbd/keymaps/armand1m/config.h
index df109a347b..405d329640 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/>.
#define RGBLIGHT_VAL_STEP 17
#endif
+#define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */
+#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
+
#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 da68cc2def..420661e594 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/>.
#include QMK_KEYBOARD_H
+enum custom_keycodes {
+ ARROW_FUNCTION = SAFE_RANGE
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case ARROW_FUNCTION:
+ if (record->event.pressed) {
+ SEND_STRING("() => {}");
+ } else {
+ SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_ENTER));
+ }
+ return false;
+ }
+
+ return true;
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- 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,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- 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,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), LT(2, KC_BSPC), KC_RALT
- //`--------------------------' '--------------------------´
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ 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,
+ 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),
+ KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), MO(2), KC_RALT
),
[1] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______
- //`--------------------------' '--------------------------´
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______
- //`--------------------------' '--------------------------´
- )
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, ARROW_FUNCTION, KC_LT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GT, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
+ _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT_split_3x6_3(
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, LALT(LSFT(KC_0)), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(LSFT(KC_4)), XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(KC_MINS), LGUI(KC_PLUS), XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______
+ ),
};
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (!is_master) {
- return OLED_ROTATION_180; // flips the display 180 degrees if offhand
+ return OLED_ROTATION_180; // flips the display 180 degrees if offhand
}
return rotation;
}
diff --git a/keyboards/crkbd/keymaps/armand1m/readme.md b/keyboards/crkbd/keymaps/armand1m/readme.md
index 11479263bf..0d10ae17d0 100644
--- a/keyboards/crkbd/keymaps/armand1m/readme.md
+++ b/keyboards/crkbd/keymaps/armand1m/readme.md
@@ -1,6 +1,6 @@
# armand1m crkbd layout
-This is the personal layout for [@armand1m](https://github.com/armand1m)
+This is the personal layout for [@armand1m](https://go.d1m.dev/github)
This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage.
@@ -8,6 +8,35 @@ As of the date of this writing, my environment runs OS X Big Sur with yabai and
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.
+## Layout
+
+You can find `json` files for http://www.keyboard-layout-editor.com/ in the keymap folder.
+
+Here are some screenshots for convenience:
+
+Base Layer:<br/>
+<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>
+
+Numbers Layer:<br/>
+<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>
+
+Symbols Layer:<br/>
+<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>
+
+## Choices
+
+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:
+
+ - 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.
+
+ - 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.
+
+ - 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.
+
+ - 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.
+
+ - 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.
+
## Usage
In case you have `qmk` installed: