AJP10304 Planck and JJ40 layouts. Added fn2 layer (#2879)

master
ajp10304 2018-05-03 02:36:15 +01:00 committed by Drashna Jaelre
parent 9b91789193
commit c52b3c6126
4 changed files with 264 additions and 73 deletions

View File

@ -14,6 +14,8 @@ enum jj40_layers {
_MRSE, _MRSE,
_FUNC, _FUNC,
_MFNC, _MFNC,
_FUNC2,
_MFNC2,
_ADJUST, _ADJUST,
_MOUSE _MOUSE
}; };
@ -23,6 +25,8 @@ enum jj40_keycodes {
MAC, MAC,
FUNC, FUNC,
MFNC, MFNC,
FUNC2,
MFNC2,
LOWER, LOWER,
MLWR, MLWR,
RAISE, RAISE,
@ -47,14 +51,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------| * |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTY] = KEYMAP(\ [_QWERTY] = KEYMAP(\
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,\ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC ,\
MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,\ MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) ,\
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,\ KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT ,\
MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC) \ MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2) \
), ),
/* Function /* Function
@ -117,15 +121,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | | * | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| * |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | STOP | STOP | Prev | Vol- | Next | | | * | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | * | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_ADJUST] = KEYMAP(\ [_ADJUST] = KEYMAP(\
M(0), RESET, QWERTY, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,\ M(0), RESET, QWERTY, BL_ON, BL_OFF, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, KC_DEL ,\
KC_CAPS, _______, _______, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\ KC_CAPS, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_MEDIA_PLAY_PAUSE, _______, _______ ,\
TG(_MAC), _______, _______, _______, _______, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\ TG(_MAC), RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, DYN_REC_STOP, DYN_REC_STOP, KC_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_MEDIA_NEXT_TRACK, _______, _______ ,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
), ),
@ -147,23 +151,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______\
), ),
/* Function 2 (Right hand side)
* ,-----------------------------------------------------------------------------------.
* | | |WRDSEL| | | | LNDEL| | | | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | LNSEL| DUP | | | | |LNJOIN| | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FUNC2] = KEYMAP(\
_______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______,\
_______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______,\
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98), \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[_MAC]= KEYMAP(\ [_MAC]= KEYMAP(\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______\ MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2 \
), ),
[_MLWR] = KEYMAP(\ [_MLWR] = KEYMAP(\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
), ),
[_MRSE] = KEYMAP(\ [_MRSE] = KEYMAP(\
_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ _______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) ,\ _______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) ,\
_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\ _______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) ,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
), ),
@ -171,7 +193,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MFNC]= KEYMAP(\ [_MFNC]= KEYMAP(\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) ,\
_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,\
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[_MFNC2] = KEYMAP(\
_______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______,\
_______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______,\
_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99), \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
) )
@ -243,6 +272,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_off(_MFNC); layer_off(_MFNC);
} }
return false; return false;
case MFNC2:
if (record->event.pressed) {
layer_on(_FUNC2);
layer_on(_MFNC2);
} else {
layer_off(_FUNC2);
layer_off(_MFNC2);
}
return false;
} }
return true; return true;
} }
@ -262,6 +300,48 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t op
case 2: // Word Select Mac case 2: // Word Select Mac
SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT)); SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT));
return false; return false;
case 3: // Line Select
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
return false;
case 4: // Line Select Mac
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
return false;
case 5: // Line Delete
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
SEND_STRING(SS_TAP(X_BSPACE));
return false;
case 6: // Line Delete Mac
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
SEND_STRING(SS_TAP(X_BSPACE));
return false;
case 7: // Duplicate Selection
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
return false;
case 8: // Duplicate Selection Mac
SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v"));
return false;
case 9: // Join line
SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE));
return false;
case 10: // Join line Mac
SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE));
return false;
case 98: // Print mode
SEND_STRING("PC");
return false;
case 99: // Print mode
SEND_STRING("OSX");
return false;
} }
} }
return MACRO_NONE; return MACRO_NONE;

View File

@ -17,7 +17,7 @@ the second is the output when shift is applied.
| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter| | Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
##### Function Layer ##### Function Layer
Activated when `fn` held in the above `qwerty` layer. Activated when `fn` held in the above `qwerty` layer.
@ -27,7 +27,7 @@ Activated when `fn` held in the above `qwerty` layer.
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
| Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | | Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn | | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 |
##### Lower Layer ##### Lower Layer
Activated when `Lower` is held in the above `qwerty` layer. Activated when `Lower` is held in the above `qwerty` layer.
@ -65,28 +65,44 @@ Activated when `Lower` and `Raise` are held together in the above `qwerty` layer
* ????: Runs a macro for outputting a text string. Do not use this store passwords. * ????: Runs a macro for outputting a text string. Do not use this store passwords.
* Reset: Enter bootloader for flashing firmware to the keyboard. * Reset: Enter bootloader for flashing firmware to the keyboard.
* CAPS: Toggle caps lock. * CAPS: Toggle caps lock.
* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2.
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, * MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
MRSE with RAISE and MFNC with FUNC respectively. MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
* REC1, REC2: Start recording macro.
* PLAY1, PLAY2: Playback macro.
* STOP1, STOP2: Stop recording macro.
| | | | | | | | | | | | | | | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| | :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
| CAPS | | | | | PLAY1| PLAY | Mute | Vol+ | Play | | | | CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | |
| MAC | | | | | STOP | STOP | Prev | Vol- | Next | | | | MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | |
| | | | | | | | | | | | | | | | | | | | | | DYN | | | |
##### Mouse ##### Function 2 Layer
Activated when `fn` and `Raise` are held together. Activated when `fn` held in the above `qwerty` layer.
* WRDSEL: Select the word where the cursor is.
* LNDEL: Delete the line where the cursor is.
* LNSEL: Select the line where the cursor is.
* DUP: Duplicate the selected text.
* LNJOIN: Join the line where the cursor is with the following line.
* MODE: Print either `PC` or `OSX` depending on what layer mode is active.
| | | | | | | | | | | | | | | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| | :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| | |WRDSEL| | | | LNDEL| | | | | |
| | | LNSEL| DUP | | | | |LNJOIN| | | |
| | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
| | | | | | | | | | | | | | | | | | | | | | | | | |
##### Mouse Layer
Activated when `fn` and `raise` held together.
| | | | | | | | | | | | |
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| ESC | | | | | | | | | | | |
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | | | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
| | | | | | | | | | | | | | | | | | | | | | | | | |
####Manual Flashing of hex file ####Manual Flashing of hex file
`bootloadHID -r .build/jj40_ajp10304.hex` Use sleep to get a chance to get into boot mode.
`sleep 5; bootloadHID -r .build/jj40_ajp10304.hex`

View File

@ -14,6 +14,8 @@ enum planck_layers {
_MRSE, _MRSE,
_FUNC, _FUNC,
_MFNC, _MFNC,
_FUNC2,
_MFNC2,
_ADJUST, _ADJUST,
_MOUSE _MOUSE
}; };
@ -23,6 +25,8 @@ enum planck_keycodes {
MAC, MAC,
FUNC, FUNC,
MFNC, MFNC,
FUNC2,
MFNC2,
LOWER, LOWER,
MLWR, MLWR,
RAISE, RAISE,
@ -47,14 +51,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------| * |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | * | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | * | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTY] = { [_QWERTY] = {
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, {KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
{MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) }, {MT(MOD_LSFT, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, MT(MOD_RSFT, KC_ENT) },
{KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT }, {KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT },
{MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC) } {MO(_FUNC), KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_BSPC, KC_SPC, RAISE, KC_LSHIFT, KC_BTN2, KC_RCTL, MO(_FUNC2) }
}, },
/* Function /* Function
@ -117,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | | * | CAPS | | | | | PLAY1| PLAY2| Mute | Vol+ | Play | | |
* |------+------+------+------+------+------|------+------+------+------+------+------| * |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | STOP | STOP | Prev | Vol- | Next | | | * | PC/MC| | | | | STOP | STOP | Prev | Vol- | Next | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | * | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
@ -147,23 +151,41 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
}, },
/* Function 2 (Right hand side)
* ,-----------------------------------------------------------------------------------.
* | | |WRDSEL| | | | LNDEL| | | | | |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | LNSEL| DUP | | | | |LNJOIN| | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_FUNC2] = {
{_______, _______, M(1), _______, _______, _______, M(5), _______, _______, _______, _______, _______},
{_______, _______, M(3), M(7), _______, _______, _______, M(10), _______, _______, _______, _______},
{_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, M(98) },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
},
[_MAC] = { [_MAC] = {
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, _______} {MFNC, _______, _______, _______, MLWR, _______, _______, MRSE, _______, _______, _______, MFNC2 }
}, },
[_MLWR] = { [_MLWR] = {
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}
}, },
[_MRSE] = { [_MRSE] = {
{_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ }, {_______, _______, M(2), _______, _______, _______, _______, _______, _______, _______, _______, _______ },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_EQL) }, {_______, _______, _______, _______, _______, _______, _______, LCTL(KC_A), _______, LCTL(KC_E), _______, LGUI(KC_EQL) },
{_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) }, {_______, _______, _______, _______, _______, _______, LALT(KC_LEFT), _______, _______, _______, LALT(KC_RIGHT), LGUI(KC_MINS) },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
}, },
@ -171,10 +193,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MFNC]= { [_MFNC]= {
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) }, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PENT) },
{_______, KC_GRAVE, KC_NONUS_BSLASH, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
}, },
[_MFNC2] = {
{_______, _______, M(2), _______, _______, _______, M(6), _______, _______, _______, _______, _______},
{_______, _______, M(4), M(8), _______, _______, _______, M(10), _______, _______, _______, _______},
{_______, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), _______, _______, _______, _______, _______, _______, M(99) },
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
},
}; };
void persistant_default_layer_set(uint16_t default_layer) { void persistant_default_layer_set(uint16_t default_layer) {
@ -243,6 +272,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
layer_off(_MFNC); layer_off(_MFNC);
} }
return false; return false;
case MFNC2:
if (record->event.pressed) {
layer_on(_FUNC2);
layer_on(_MFNC2);
} else {
layer_off(_FUNC2);
layer_off(_MFNC2);
}
return false;
} }
return true; return true;
} }
@ -262,6 +300,48 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t keycode, uint8_t op
case 2: // Word Select Mac case 2: // Word Select Mac
SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT)); SEND_STRING(SS_DOWN(X_LALT) SS_TAP(X_RIGHT) SS_DOWN(X_LSHIFT) SS_TAP(X_LEFT) SS_UP(X_LSHIFT) SS_UP(X_LALT));
return false; return false;
case 3: // Line Select
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
return false;
case 4: // Line Select Mac
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
return false;
case 5: // Line Delete
SEND_STRING(SS_TAP(X_HOME) SS_DOWN(X_LSHIFT) SS_TAP(X_END) SS_UP(X_LSHIFT));
SEND_STRING(SS_TAP(X_BSPACE));
return false;
case 6: // Line Delete Mac
SEND_STRING(SS_LCTRL("a") SS_DOWN(X_LSHIFT) SS_LCTRL("e") SS_UP(X_LSHIFT));
SEND_STRING(SS_TAP(X_BSPACE));
return false;
case 7: // Duplicate Selection
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
return false;
case 8: // Duplicate Selection Mac
SEND_STRING(SS_LGUI("c") SS_TAP(X_RIGHT) SS_LGUI("v"));
return false;
case 9: // Join line
SEND_STRING(SS_TAP(X_END) SS_TAP(X_DELETE));
return false;
case 10: // Join line Mac
SEND_STRING(SS_LCTRL("e") SS_TAP(X_DELETE));
return false;
case 98: // Print mode
SEND_STRING("PC");
return false;
case 99: // Print mode
SEND_STRING("OSX");
return false;
} }
} }
return MACRO_NONE; return MACRO_NONE;

View File

@ -17,7 +17,7 @@ the second is the output when shift is applied.
| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp | | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter| | Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft | | Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn | | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
##### Function Layer ##### Function Layer
Activated when `fn` held in the above `qwerty` layer. Activated when `fn` held in the above `qwerty` layer.
@ -27,7 +27,7 @@ Activated when `fn` held in the above `qwerty` layer.
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT| | 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
| Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift | | Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn | | Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 |
##### Lower Layer ##### Lower Layer
Activated when `Lower` is held in the above `qwerty` layer. Activated when `Lower` is held in the above `qwerty` layer.
@ -65,25 +65,40 @@ Activated when `Lower` and `Raise` are held together in the above `qwerty` layer
* ????: Runs a macro for outputting a text string. Do not use this store passwords. * ????: Runs a macro for outputting a text string. Do not use this store passwords.
* Reset: Enter bootloader for flashing firmware to the keyboard. * Reset: Enter bootloader for flashing firmware to the keyboard.
* CAPS: Toggle caps lock. * CAPS: Toggle caps lock.
* Macro functions: Allows recording of macros. To start recording the macro, press either REC1 or REC2.
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER, * MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
MRSE with RAISE and MFNC with FUNC respectively. MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
* REC1, REC2: Start recording macro.
* PLAY1, PLAY2: Playback macro.
* STOP1, STOP2: Stop recording macro.
| | | | | | | | | | | | | | | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| | :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del | | ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
| CAPS | | | | | PLAY1| PLAY | Mute | Vol+ | Play | | | | CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | |
| MAC | | | | | STOP | STOP | Prev | Vol- | Next | | | | MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | |
| | | | | | | | | | | | | | | | | | | | | | DYN | | | |
##### Mouse ##### Function 2 Layer
Activated when `fn` and `Raise` are held together. Activated when `fn` held in the above `qwerty` layer.
* WRDSEL: Select the word where the cursor is.
* LNDEL: Delete the line where the cursor is.
* LNSEL: Select the line where the cursor is.
* DUP: Duplicate the selected text.
* LNJOIN: Join the line where the cursor is with the following line.
* MODE: Print either `PC` or `OSX` depending on what layer mode is active.
| | | | | | | | | | | | | | | | | | | | | | | | | |
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:| | :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| | |WRDSEL| | | | LNDEL| | | | | |
| | | LNSEL| DUP | | | | |LNJOIN| | | |
| | UNDO | CUT | COPY | PASTE| | | | | | | MODE |
| | | | | | | | | | | | | | | | | | | | | | | | | |
##### Mouse Layer
Activated when `fn` and `raise` held together.
| | | | | | | | | | | | |
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
| ESC | | | | | | | | | | | |
| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | | | ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | | | ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
| | | | | | | | | | | | | | | | | | | | | | | | | |