jj28 (jj40 SuperMicro) update (#8885)

* jj28 (jj40 SuperMicro) update

* Update keyboards/jj40/keymaps/stevexyz/config.h

Co-Authored-By: Joel Challis <git@zvecr.com>

* removed jpegs

* Update keyboards/jj40/keymaps/stevexyz/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/jj40/keymaps/stevexyz/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/jj40/keymaps/stevexyz/keymap.c

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: stevexyz <warste@removethisandleavegoogle.com>
Co-authored-by: Joel Challis <git@zvecr.com>
This commit is contained in:
Stefano 2020-05-07 01:31:22 +02:00 committed by GitHub
parent 7bb9c76c80
commit 19513fac5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 51 additions and 42 deletions

View File

@ -1,6 +1,8 @@
#pragma once
// Behaviors That Can Be Configured // Behaviors That Can Be Configured
#define TAPPING_TERM 250 #define TAPPING_TERM 250
// how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too // how long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
@ -9,18 +11,18 @@
#define IGNORE_MOD_TAP_INTERRUPT #define IGNORE_MOD_TAP_INTERRUPT
// makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. // makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys.
#define TAPPING_FORCE_HOLD
// makes it possible to use a dual role key as modifier shortly after having been tapped (see Hold after tap)
// Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
/* /*
#define TAPPING_TERM_PER_KEY #define TAPPING_TERM_PER_KEY
// enables handling for per key TAPPING_TERM settings // enables handling for per key TAPPING_TERM settings
#define RETRO_TAPPING #define RETRO_TAPPING
// tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release // tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
// See Retro Tapping for details
#define TAPPING_TOGGLE 2 #define TAPPING_TOGGLE 2
// how many taps before triggering the toggle // how many taps before triggering the toggle
#define TAPPING_FORCE_HOLD
// makes it possible to use a dual role key as modifier shortly after having been tapped
// See Hold after tap
// Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
#define LEADER_TIMEOUT 300 #define LEADER_TIMEOUT 300
// how long before the leader key times out // how long before the leader key times out
// If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped. // If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.

View File

@ -1,4 +0,0 @@
[{c:"#eeddcc",g:true,a:7},"","","","","","","","","","","",""],
["",{c:"#cccccc",g:false,a:4,fa:[2,1,5,5,8]},"F11\nF1\n!\n1\nQ","F12\nF2\n@\n2\nW","Layer Num\nF3\n#\n3\nE","Layer Light\nF4\n$\n4\nR","\nF5\n%\n5\nT","\nF6\n^\n6\nY","\nF7\n&\n7\nU","\nF8\n*\n8\nI","Layer Mouse\nF9\n(\n9\nO","\nF10\n)\n0\nP",{c:"#eeddcc",g:true,a:7},""],
["",{c:"#cccccc",t:"#000000\n\n\n\n\n\n\n\n\n\n#804020",g:false,a:4,fa:[2,1,5,5,8,0,2,2,0,0,1]},"Caps\n\n\n\nA\n\nEsc\nTab\n\n\nshift",{fa:[2,2,5,5,8,0,2,2,0,0,1]},"<i class='fa fa-volume-off'></i>\n<i class='fa fa-angle-double-left'></i>\n~\n`\nS\n\n\n\n\n\nfn","<i class='fa fa-volume-down'></i>\n<i class='fa fa-angle-double-down'></i>\n_\n-\nD\n\n\n\n\n\nnum",{t:"#000000"},"<i class='fa fa-volume-up'></i>\n<i class='fa fa-angle-double-up'></i>\n+\n=\nF",{t:"#000000\n\n\n\n\n\n\n\n\n\n#804020"},"<i class='fa fa-play'></i>\n<i class='fa fa-angle-double-right'></i>\n{\n[\nG\n\n\n\n\n\n<i class='fa fa-apple'></i>","<i class='fa fa-step-forward'></i>\n<i class='fa fa-arrow-left'></i>\n}\n]\nH\n\n\n\n\n\n<i class='fa fa-apple'></i>",{t:"#000000"},"\n<i class='fa fa-arrow-down'></i>\n|\n\\\nJ",{t:"#000000\n\n\n\n\n\n\n\n\n\n#804020"},"\n<i class='fa fa-arrow-up'></i>\n:\n;\nK\n\n\n\n\n\nfn","\n<i class='fa fa-arrow-right'></i>\n\"\n'\nL\n\n\n\n\n\nnum",{c:"#eeddcc",f:1,fa:[2,2,5,5,8,0,2,2,0,0,0]},"Ins\n\n\n\n\n\nBS\nDel\n\n\nshift",{t:"#000000",g:true,a:7,f:3},""],
["","",{c:"#cccccc",t:"#000000\n#804020",g:false,a:5,fa:[0,1,0,0,8]},"\nctrl\n\n\nZ","\nalt\n\n\nX",{t:"#000000\n\n\n\n\n\n\n\n\n\n#804020",a:4,fa:[2,1,0,0,8,0,0,0,0,0,1]},"^\n\n\n\nC\n\n\n\n\n\nfn","^\n\n\n\nV\n\n\n\n\n\nnum",{fa:[2,1,5,5,8,0,0,0,0,0,1]},"Prnt Scrn\n\n<\n,\nB\n\n\n\n\n\nshift","Scr Lock\n\n>\n.\nN\n\n\n\n\n\nalt","Paus\n\n?\n/\nM\n\n\n\n\n\nctrl",{t:"#000000\n#804020",a:5},"\nshift",{c:"#eeddcc",t:"#000000",g:true,a:7},"",""]

View File

@ -22,6 +22,12 @@
*/ */
/*
* Nice to have:
* - tap dancing (p=backspace, q=escape, a=tab, vowel=accentedletter and same for consonant as the french c)
*/
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
enum layers { enum layers {
@ -38,20 +44,24 @@ enum custom_keycodes {
CK_TRIPLEZERO = SAFE_RANGE, CK_TRIPLEZERO = SAFE_RANGE,
}; };
#define CK_CONFIGINIT EEPROM_RESET
enum { enum {
TD_ENT_BSPC = 0, TD_P_BSPC = 0,
TD_KPENT_BSPC, TD_Q_ESC,
TD_E_GRAVE, TD_A_TAB,
TD_A_GRAVE, TD_A_GRAVE,
TD_E_GRAVE,
TD_E_ACUTE,
TD_I_GRAVE,
TD_O_GRAVE, TD_O_GRAVE,
TD_U_GRAVE, TD_U_GRAVE,
TD_I_GRAVE,
TD_E_ACUTE,
}; };
qk_tap_dance_action_t tap_dance_actions[] = { qk_tap_dance_action_t tap_dance_actions[] = {
[TD_ENT_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_ENT, KC_BSPC), [TD_P_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_P, KC_BSPC),
[TD_KPENT_BSPC] = ACTION_TAP_DANCE_DOUBLE(KC_KP_ENTER, KC_BSPC), [TD_Q_ESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC),
[TD_E_GRAVE] = ACTION_TAP_DANCE_DOUBLE(KC_E, KC_E), [TD_A_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_TAB),
//[TD_E_GRAVE] = ACTION_TAP_DANCE_DOUBLE(KC_E, KC_EGRAVE),
}; };
@ -83,18 +93,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | A | S | D | F | G | H | J | K | L | Enter| | * | | A | S | D | F | G | H | J | K | L | Enter| |
* | | Shift| FnNav|NumSym| ____ | OSkey| OSkey| ____ | FnNav|NumSym| Shift| | * | | Shift| FnNav|NumSym| AltGr| OSkey| OSkey| AltGr| FnNav|NumSym| Shift| |
* |------+------+------+------+------+------+------|------+------+------+------+------+ * |------+------+------+------+------+------+------|------+------+------+------+------+
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | | Z | X | C | V | B | N | M | Space| | | * | | | Z | X | C | V | B | N | M | Space| | |
* | | | Ctrl | Alt | FnNav|NumSym| Shift| Alt | Ctrl | Shift| | | * | | | Ctrl | Alt | FnNav|NumSym| Shift| Alt | Ctrl | Shift| | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[LAYER_HOME] = LAYOUT_ortho_4x12( [LAYER_HOME] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX, XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX,
XXXXXXX, MT(MOD_LSFT, KC_A), LT(LAYER_FUNC, KC_S), LT(LAYER_NUMSYM, KC_D), KC_F, MT(MOD_LGUI, KC_G), MT(MOD_RGUI, KC_H), KC_J, LT(LAYER_FUNC, KC_K), LT(LAYER_NUMSYM, KC_L), MT(MOD_RSFT, KC_ENT), XXXXXXX, XXXXXXX, MT(MOD_LSFT, KC_A), LT(LAYER_FUNC, KC_S), LT(LAYER_NUMSYM, KC_D), MT(MOD_RALT, KC_F), MT(MOD_LGUI, KC_G), MT(MOD_RGUI, KC_H), MT(MOD_RALT, KC_J), LT(LAYER_FUNC, KC_K), LT(LAYER_NUMSYM, KC_L), MT(MOD_RSFT, KC_ENT), XXXXXXX,
XXXXXXX, XXXXXXX, MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(LAYER_FUNC, KC_C), LT(LAYER_NUMSYM, KC_V), MT(MOD_LSFT, KC_B), MT(MOD_RALT, KC_N), MT(MOD_RCTL, KC_M), MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), XXXXXXX, XXXXXXX, MT(MOD_LCTL, KC_Z), MT(MOD_LALT, KC_X), LT(LAYER_FUNC, KC_C), LT(LAYER_NUMSYM, KC_V), MT(MOD_LSFT, KC_B), MT(MOD_LALT, KC_N), MT(MOD_RCTL, KC_M), MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ),
/* Function and Navigation Layer /* Function and Navigation Layer
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -108,18 +118,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | ESC | Home | PgDn | PgUp | End | Left | Down | Up | Right| Baksp| | * | | ESC | Home | PgDn | PgUp | End | Left | Down | Up | Right| Baksp| |
* | | Shift|xxxxxx|SysLay| ____ | ____ | ____ | ____ |xxxxxx|SysLay| Shift| | * | | Shift| ____ |SysLay| AltGr| OSkey| OSkey| AltGr| ____ |SysLay| Shift| |
* |------+------+------+------+------+------+------|------+------+------+------+------+ * |------+------+------+------+------+------+------|------+------+------+------+------+
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | | * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | |
* | | | Ctrl | Alt |xxxxxx|SysLay| Shift| Alt | Ctrl | Shift| | | * | | | Ctrl | Alt | ____ |SysLay| Shift| Alt | Ctrl | Shift| | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[LAYER_FUNC] = LAYOUT_ortho_4x12( [LAYER_FUNC] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
XXXXXXX, MT(MOD_LSFT, KC_ESC), KC_HOME, LT(LAYER_SYST, KC_PGDN), KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, LT(LAYER_SYST, KC_RGHT), MT(MOD_RSFT, KC_BSPC), XXXXXXX, XXXXXXX, MT(MOD_LSFT, KC_ESC), KC_HOME, LT(LAYER_SYST, KC_PGDN), MT(MOD_RALT, KC_PGUP), MT(MOD_LGUI, KC_END), MT(MOD_RGUI, KC_LEFT), MT(MOD_RALT, KC_DOWN), KC_UP, LT(LAYER_SYST, KC_RGHT), MT(MOD_RSFT, KC_BSPC), XXXXXXX,
XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_TRNS, MO(LAYER_SYST), KC_LSFT, KC_RALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_NO, MO(LAYER_SYST), KC_LSFT, KC_LALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ),
/* Number and Symbols Layer /* Number and Symbols Layer
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -133,18 +143,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | ~ | _ | + | { | } | | | : | " | | | * | | | ~ | _ | + | { | } | | | : | " | | |
* | | TAB | ` | - | = | [ | ] | \ | ; | ' | | | * | | TAB | ` | - | = | [ | ] | \ | ; | ' | | |
* | | Shift|SysLay|xxxxxx| ____ | ____ | ____ | ____ |SysLay|xxxxxx| Shift| | * | | Shift|SysLay| ____ | AltGr| OSkey| OSkey| AltGr|SysLay| ____ | Shift| |
* |------+------+------+------+------+------+------|------+------+------+------+------+ * |------+------+------+------+------+------+------|------+------+------+------+------+
* | | | | | | | < | > | ? | | | | * | | | | | | | < | > | ? | | | |
* | | | ____ | ____ | ____ | ____ | , | . | / | ____ | | | * | | | ____ | ____ | ____ | ____ | , | . | / | ____ | | |
* | | | Ctrl | Alt |SysLay|xxxxxx| Shift| ____ | ____ | Shift| | | * | | | Ctrl | Alt |SysLay| ____ | Shift| Alt | Ctrl | Shift| | |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[LAYER_NUMSYM] = LAYOUT_ortho_4x12( [LAYER_NUMSYM] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX,
XXXXXXX, MT(MOD_LSFT, KC_TAB), LT(LAYER_SYST, KC_GRV), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, LT(LAYER_SYST, KC_SCLN), KC_QUOT, MT(MOD_RSFT, KC_DEL), XXXXXXX, XXXXXXX, MT(MOD_LSFT, KC_TAB), LT(LAYER_SYST, KC_GRV), KC_MINS, MT(MOD_RALT, KC_EQL), MT(MOD_LGUI, KC_LBRC), MT(MOD_RGUI, KC_RBRC), MT(MOD_RALT, KC_BSLS), LT(LAYER_SYST, KC_SCLN), KC_QUOT, MT(MOD_RSFT, KC_DEL), XXXXXXX,
XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, MO(LAYER_SYST), KC_TRNS, MT(MOD_LSFT, KC_COMM), KC_DOT, KC_SLSH, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, MO(LAYER_SYST), KC_NO, MT(MOD_LSFT, KC_COMM), MT(MOD_LALT, KC_DOT), MT(MOD_RCTL, KC_SLSH), MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ),
/* System Layer /* System Layer
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -153,11 +163,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | F11 | F12 |NumLay|LghLay| ____ | ____ | ____ | ____ |MouLay|Backsp| | * | | F11 | F12 |NumLay|LghLay| ____ |KbInit| Power|SysReq|MouLay|Backsp| |
* | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | | * | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | |
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | Caps | Mute | Vol- | Vol+ | Play | Next | ____ | ____ | ____ | Ins | | * | | Caps | Mute | Vol- | Vol+ | Play | Next | ____ | ____ |OSMenu| Ins | |
* | | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift| | * | | Shift| ____ | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Shift| |
* |------+------+------+------+------+------+------|------+------+------+------+------+ * |------+------+------+------+------+------+------|------+------+------+------+------+
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
@ -167,9 +177,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/ */
[LAYER_SYST] = LAYOUT_ortho_4x12( [LAYER_SYST] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_F11, KC_F12, TG(LAYER_NUMONLY), TG(LAYER_LIGHTS), KC_NO, KC_NO, KC_NO, KC_NO, TG(LAYER_MOUSE), KC_BSPC, XXXXXXX, XXXXXXX, KC_F11, KC_F12, TG(LAYER_NUMONLY), TG(LAYER_LIGHTS), KC_NO, CK_CONFIGINIT, KC_POWER, KC_SYSREQ, TG(LAYER_MOUSE), KC_BSPC, XXXXXXX,
XXXXXXX, MT(MOD_LSFT, KC_CAPS), KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, MT(MOD_RSFT, KC_INS), XXXXXXX, XXXXXXX, MT(MOD_LSFT, KC_CAPS), KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_APP, MT(MOD_RSFT, KC_INS), XXXXXXX,
XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ),
/* Numeric Keypad /* Numeric Keypad
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
@ -233,7 +243,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------| * |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | Left | Down | Right| Whl- | ____ | ____ | ____ | ____ | ____ | Enter| | * | | Left | Down | Right| Whl- | ____ | ____ | ____ | ____ | ____ | Enter| |
* | | ____ | ____ | ____ | ____ | OSkey| OSkey| ____ | ____ | ____ | ____ | | * | | ____ | ____ | ____ | ____ | OSkey| OSkey| AltGr| ____ | ____ | ____ | |
* |------+------+------+------+------+------+------|------+------+------+------+------+ * |------+------+------+------+------+------+------|------+------+------+------+------+
* | | | | | | | | | | | | | * | | | | | | | | | | | | |
* | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Space| | | * | | | ____ | ____ | ____ | ____ | ____ | ____ | ____ | Space| | |
@ -243,14 +253,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_MOUSE] = LAYOUT_ortho_4x12( [LAYER_MOUSE] = LAYOUT_ortho_4x12(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, KC_NO, TG(LAYER_MOUSE), KC_NO, XXXXXXX, XXXXXXX, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_MS_WH_UP, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, KC_NO, TG(LAYER_MOUSE), KC_NO, XXXXXXX,
XXXXXXX, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, KC_LGUI, KC_RGUI, KC_NO, KC_NO, KC_NO, KC_ENT, XXXXXXX, XXXXXXX, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN, KC_LGUI, KC_RGUI, KC_RALT, KC_NO, KC_NO, KC_ENT, XXXXXXX,
XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_LSFT, KC_RALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ), XXXXXXX, XXXXXXX, KC_LCTL, KC_LALT, KC_NO, KC_NO, KC_LSFT, KC_LALT, KC_RCTL, MT(MOD_RSFT, KC_SPC), XXXXXXX, XXXXXXX ),
}; };
void matrix_init_user(void) { void matrix_init_user(void) {
// set num lock on at start independently of state (for numonly layer to work) // eeconfig_init(); // reset keyboard to a standard default state; useful when new releases messup with eeprom values
// set num lock on at start (for numonly layer to work)
if (!(host_keyboard_leds() & (1<<USB_LED_NUM_LOCK))) { if (!(host_keyboard_leds() & (1<<USB_LED_NUM_LOCK))) {
SEND_STRING(SS_TAP(X_NUMLOCK)); //register_code(KC_NUMLOCK); unregister_code(KC_NUMLOCK); SEND_STRING(SS_TAP(X_NUMLOCK)); //register_code(KC_NUMLOCK); unregister_code(KC_NUMLOCK);
} }

View File

@ -1,6 +1,7 @@
# jj28 (aka jj40 super micro edition :)) # jj28 (aka jj40 super micro edition :))
With this configuration a 4x12 jj40 (with 48 keys) is transformed into an ortholinear PyroL-vderm 28 keys inspired layout one. This keyboard can be actually called jj28! With this configuration a 4x12 jj40 (with 48 keys) is being removed 20 keys and transformed into an ortholinear Alpha28 PyroL-vderm 28 keys inspired layout one.
This keyboard can be actually called jj28!
![Bare layout](https://i.ibb.co/7GK1LY7/layout-0.jpg) ![Bare layout](https://i.ibb.co/7GK1LY7/layout-0.jpg)
@ -15,6 +16,6 @@ Surely you have an additional option, and personally, after using it as a daily
Notes on layout: Notes on layout:
After few tests I found out that the space at the end is the best for people that are very used to “standard” keyboards (basically almost everybody), retaining years of muscle memory. After few tests I found out that the space at the end is the best for people that are very used to “standard” keyboards (basically almost everybody), retaining years of muscle memory.
Moreover, also shift, fn and numsym layer keys are good to be replicated on central line (and also keeping in the order will allow a single finger shift+fn on the left and also shift+num on the right). And moreover, also shift, fn and numsym layer keys are good to be replicated on central line.
[Keyboard layout editor](http://www.keyboard-layout-editor.com/#/) raw data in keyboard-layout-editor-raw-data.txt file. [Keyboard layout editor](http://www.keyboard-layout-editor.com/#/) raw data in keyboard-layout-editor-raw-data.txt file.

View File

@ -8,7 +8,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # USB Nkey Rollover (see: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work) NKRO_ENABLE = no # USB Nkey Rollover (see: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work)
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGBLIGHT_CUSTOM_DRIVER = yes
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = no # Unicode UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID