summaryrefslogtreecommitdiffstats
path: root/keyboards/kprepublic/jj40/keymaps
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/kprepublic/jj40/keymaps')
-rw-r--r--keyboards/kprepublic/jj40/keymaps/ajp10304/readme.md119
-rw-r--r--keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c144
-rw-r--r--keyboards/kprepublic/jj40/keymaps/cockpit/readme.md55
-rw-r--r--keyboards/kprepublic/jj40/keymaps/default/keymap.c104
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/keymap.c98
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/readme.md4
-rw-r--r--keyboards/kprepublic/jj40/keymaps/fun40/rules.mk21
-rw-r--r--keyboards/kprepublic/jj40/keymaps/krusli/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/krusli/keymap.c90
-rw-r--r--keyboards/kprepublic/jj40/keymaps/krusli/numpad.txt17
-rw-r--r--keyboards/kprepublic/jj40/keymaps/krusli/readme.md4
-rw-r--r--keyboards/kprepublic/jj40/keymaps/krusli/rules.mk1
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/keymap.c124
-rw-r--r--keyboards/kprepublic/jj40/keymaps/oscillope/rules.mk11
-rw-r--r--keyboards/kprepublic/jj40/keymaps/skewwhiffy/keymap.c219
-rw-r--r--keyboards/kprepublic/jj40/keymaps/stevexyz/config.h47
-rw-r--r--keyboards/kprepublic/jj40/keymaps/stevexyz/keymap.c303
-rw-r--r--keyboards/kprepublic/jj40/keymaps/stevexyz/readme.md21
-rw-r--r--keyboards/kprepublic/jj40/keymaps/stevexyz/rules.mk19
-rw-r--r--keyboards/kprepublic/jj40/keymaps/suzuken/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/suzuken/keymap.c99
-rw-r--r--keyboards/kprepublic/jj40/keymaps/via/keymap.c93
-rwxr-xr-xkeyboards/kprepublic/jj40/keymaps/via/rules.mk4
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/config.h8
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/keymap.c115
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/readme.md49
-rw-r--r--keyboards/kprepublic/jj40/keymaps/waples/rules.mk10
29 files changed, 1811 insertions, 0 deletions
diff --git a/keyboards/kprepublic/jj40/keymaps/ajp10304/readme.md b/keyboards/kprepublic/jj40/keymaps/ajp10304/readme.md
new file mode 100644
index 0000000000..7336b1994b
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/ajp10304/readme.md
@@ -0,0 +1,119 @@
+# AJP10304 Custom JJ40 Layout
+# Also available for the Planck, Shark, Quark and Atreus50
+
+**Note:** In the tables below where there are two characters on a key,
+the second is the output when shift is applied.
+
+**Note:** The below tables assume a UK layout.
+
+#### Flashing
+Use sleep to get a chance to get into boot mode.
+
+`make jj40:ajp10304:flash`
+
+##### Main Qwerty Layer
+
+* Tab: when held, operates as shift.
+* Enter: when held, operates as shift.
+* MENU: perform right-click
+
+| | | | | | | | | | | | |
+| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:|
+| Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+| Tab | A | S | D | F | G | H | J | K | L | ;: | Enter|
+| Shft | Z | X | C | V | B | N | M | ,< | .> | /? | Shft |
+| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2 |
+
+##### Function Layer
+Activated when `fn` held in the above `qwerty` layer.
+
+| | | | | | | | | | | | |
+| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
+| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | ~ |INSERT|
+| Shift | \| | `¬ | #~ | * | -_ | =+ | \| | [{ | ]} | '@ |Shift |
+| Fn | Ctrl | Alt | GUI |Lower | Bksp |Space |Mouse | MENU | Alt | Ctrl | Fn2 |
+
+##### Lower Layer
+Activated when `Lower` is held in the above `qwerty` layer.
+
+* Numbers are along the top row, their shifted counterparts are on row 2.
+* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
+* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word.
+
+| | | | | | | | | | | | |
+| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
+| 1! | 2" | 3£ | 4$ | 5% | 6^ | 7& | 8* | 9( | 0) | DEL | Bksp |
+| ! | " | £ | $ | % | ^ | & | * | ( | ) |WrdDel|WrdBks|
+| Shift | \| | `¬ | #~ | '@ | -_ | =+ | #~ | [{ | ]} | '@ |Shift |
+| | | | |Lower | Del |Space | | Next | Vol- | Vol+ | Play |
+
+##### Raise Layer
+Activated when `Raise` is held in the above `qwerty` layer.
+
+* Preferred layer for typing brackets.
+* Allows for cursor navigation to be used solely with the right hand.
+* WRDSEL: Select the word where the cursor is.
+* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
+
+| | | | | | | | | | | | |
+| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
+| ` | |WRDSEL| [ | ] | | | PGUP | HOME |PGDOWN| |PRNTSC|
+| ` | | | ( | ) | | | HOME | UP | END | |ZOOM +|
+| | | | { | } | |&#124;<| LEFT | DOWN |RIGHT |>&#124;|ZOOM -|
+| Mouse | | | | | Alt | Enter |Raise | | | | |
+
+##### Lower + Raise
+Activated when `Lower` and `Raise` are held together in the above `qwerty` layer.
+
+* Audio controls in the same position as cursor keys from the `Raise` layer.
+* ????: Runs a macro for outputting a text string. Do not use this store passwords.
+* Reset: Enter bootloader for flashing firmware to the keyboard.
+* 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,
+MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
+
+| | | | | | | | | | | | |
+| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
+| ???? | Reset|Qwerty| | | REC1 | REC2 | | | | | Del |
+| CAPS | | | | | PLAY1|PLAY2 | Mute | Vol+ | Play | | |
+| MAC | | | | | STOP1|STOP2 | Prev | Vol- | Next | | |
+| | | | | | | | | DYN | | | |
+
+##### Function 2 Layer
+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 | | | | | | | | BTN3 | | | |
+| ACC0 | ACC1 | ACC2 | | | | | BTN1 | UP | BTN2 | | |
+| ACC0 | ACC1 | ACC2 | | | | | LEFT | DOWN | RIGHT| | |
+| | | | | | | | | | | | |
+
+##### Number Pad Layout
+Activated when holding `Esc` key.
+
+| | | | | | | | | | | | |
+| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
+| | | | | | |NMLOCK| 7 | 8 | 9 | / | |
+| | | | | | | | 4 | 5 | 6 | * | |
+| | | | | | | | 1 | 2 | 3 | + | |
+| | | | | | | | 0 | . | , | - | |
diff --git a/keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c b/keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c
new file mode 100644
index 0000000000..34c6c861e5
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/cockpit/keymap.c
@@ -0,0 +1,144 @@
+#include QMK_KEYBOARD_H
+
+#define LT_1 RALT(KC_1)
+#define LT_2 RALT(KC_2)
+#define LT_3 RALT(KC_3)
+#define LT_4 RALT(KC_4)
+#define LT_5 RALT(KC_5)
+#define LT_6 RALT(KC_6)
+#define LT_7 RALT(KC_7)
+#define LT_8 RALT(KC_8)
+#define LT_9 RALT(KC_9)
+#define LT_0 RALT(KC_0)
+#define LT_EXLM RALT(KC_EXLM)
+#define LT_AT RALT(KC_AT)
+#define LT_HASH RALT(KC_HASH)
+#define LT_DLR RALT(KC_DLR)
+#define LT_PERC RALT(KC_PERC)
+#define LT_CIRC RALT(KC_CIRC)
+#define LT_AMPR RALT(KC_AMPR)
+#define LT_ASTR RALT(KC_ASTR)
+
+// Naming according to Unicode specifications
+#define LT_A_OG KC_1
+#define LT_C_CA KC_2
+#define LT_E_OG KC_3
+#define LT_E_DO KC_4
+#define LT_I_OG KC_5
+#define LT_S_CA KC_6
+#define LT_U_OG KC_7
+#define LT_U_MA KC_8
+#define LT_Z_CA KC_EQL
+
+// Cockpit bindings
+#define CP_LOCK LGUI(KC_L)
+
+enum jj40_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _FUNC
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+ FUNC
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | | Q | W | E | R | T | Y | U | I | O | P | |
+ * | Esc | q | w | e | r | t | y | u | i | o | p | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | A | S | D | F | G | H | J | K | L | : | " |
+ * | Tab | a | s | d | f | g | h | j | k | l | ; | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | Z | X | C | V | B | N | M | < | > | ? | |
+ * |Shift | z | x | c | v | b | n | m | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * | Ctrl | Fn | GUI | Alt |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_planck_mit( \
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
+ KC_LCTL, MO(_FUNC), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+),
+
+ /* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | Ą | Č | Ę | Ė | Į | Š | Ų | Ū | Ž | _ | |
+ * | ` | ą | č | ę | ė | į | š | ų | ū | ž | - | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * | Tab | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | { | } | | | | | |
+ * |Shift | = | + | - | | | [ | ] | < | > | { | } | Ins |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | |||||||| | | | | | |
+ * | Ctrl | | | Alt |Lower|| Space | | Home | PgDn | PgUp | End |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_planck_mit( \
+ KC_GRV, LT_A_OG, LT_C_CA, LT_E_OG, LT_E_DO, LT_I_OG, LT_S_CA, LT_U_OG, LT_U_MA, LT_Z_CA, KC_MINS, KC_BSPC, \
+ KC_TAB, LT_EXLM, LT_AT, LT_HASH, LT_DLR, LT_PERC, LT_CIRC, LT_AMPR, LT_ASTR, KC_LPRN, KC_RPRN, KC_DEL , \
+ KC_LSFT, KC_PEQL, KC_PPLS, KC_PMNS, KC_PIPE, KC_LBRC, KC_RBRC, KC_LABK, KC_RABK, KC_LCBR, KC_RCBR, KC_INS , \
+ KC_LCTL, _______, _______, KC_LALT, _______, KC_SPC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
+),
+
+ /* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | |
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | $ | % | ^ | | | | | | | | | |
+ * | Tab | 4 | 5 | 6 | | | | | | | | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | & | * | ( | ) | | | | < | > | ? | |
+ * |Shift | 7 | 8 | 9 | 0 | | | | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | |||||||| | | | |
+ * | Ctrl | | | Alt | | Space |Raise|| Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_planck_mit( \
+ KC_GRV, LT_1, LT_2, LT_3, LT_4, LT_5, LT_6, LT_7, LT_8, LT_9, LT_0, KC_BSPC, \
+ KC_TAB, LT_4, LT_5, LT_6, _______, _______, _______, _______, _______, _______, _______, KC_BSLS, \
+ KC_LSFT, LT_7, LT_8, LT_9, LT_0, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
+ KC_LCTL, _______, _______, KC_LALT, _______, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+),
+
+ /* Functions
+ * Note: Terminal uses Calculator shortcut, change your OS keyboard shortcut appropriately.
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | RGB | RGB | RGB | RGB | BL | BL | BL | | Scr | | |
+ * | Caps | Togl | Hue+ | Sat+ | Brt+ | Togl |Breath| Brt+ | | Brt+ | | Vol+ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | RGB | RGB | RGB | WWW | WWW | BL | | Scr | | |
+ * |Shift | Term | Hue- | Sat- | Brt- | < | > | Brt- | | Brt- |PrScr | Vol- |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | |||||||| RGB | | | | | | | | |
+ * | Ctrl |||Fn||| Mode | Alt | | Space |MPrev |MStop |MNext |MPlay | Lock |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_FUNC] = LAYOUT_planck_mit( \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
+ KC_CAPS, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, BL_TOGG, BL_BRTG, BL_INC, _______, KC_BRIU, _______, KC_VOLU, \
+ KC_LSFT, KC_CALC, RGB_HUD, RGB_SAD, RGB_VAD, KC_WBAK, KC_WFWD, BL_DEC, _______, KC_BRID, KC_PSCR, KC_VOLD, \
+ KC_LCTL, _______, RGB_MOD, KC_LALT, _______, KC_SPC, KC_MPRV, KC_MSTP, KC_MNXT, KC_MPLY, CP_LOCK \
+)
+};
+
+// Loop
+void matrix_scan_user(void) {
+ // Empty
+};
diff --git a/keyboards/kprepublic/jj40/keymaps/cockpit/readme.md b/keyboards/kprepublic/jj40/keymaps/cockpit/readme.md
new file mode 100644
index 0000000000..766a3c93b2
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/cockpit/readme.md
@@ -0,0 +1,55 @@
+# Cockpit custom layout
+
+> This configuration is built around Lithuanian keyboard layout, but you can easily modify it to fit your needs
+
+## Layers
+
+### Default QWERTY
+
+| | | | | | | | | | | | |
+| :-------: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :----: | :-------: |
+| <br>Esc | Q<br>q | W<br>w | E<br>e | R<br>r | T<br>t | Y<br>y | U<br>u | I<br>i | O<br>o | P<br>p | <br>Bksp |
+| <br>Tab | A<br>a | S<br>s | D<br>d | F<br>f | G<br>g | H<br>h | J<br>j | K<br>k | L<br>l | :<br>; | "<br>' |
+| <br>Shift | Z<br>z | X<br>x | C<br>c | V<br>v | B<br>b | N<br>n | M<br>m | <<br>, | ><br>. | ?<br>/ | <br>Enter |
+| Ctrl | Fn | GUI | Alt | Lower | Sp | ace | Raise | Left | Down | Up | Right |
+
+### Lower
+
+| | | | | | | | | | | | |
+| :-------: | :----: | :----: | :----: | :-------: | :----: | :----: | :----: | :----: | :----: | :-----: | :------: |
+| ~<br>\` | Ą<br>ą | Č<br>č | Ę<br>ę | Ė<br>ė | Į<br>į | Š<br>š | Ų<br>ų | Ū<br>ū | Ž<br>ž | \_<br>- | <br>Bksp |
+| <br>Tab | <br>! | <br>@ | <br># | <br>\$ | <br>% | <br>^ | <br>& | <br>\* | <br>( | <br>) | <br>Del |
+| <br>Shift | <br>= | <br>+ | <br>- | <br>\| | {<br>[ | }<br>] | <br>< | <br>> | <br>{ | <br>} | <br>Ins |
+| Ctrl | | | Alt | **Lower** | Sp | ace | | Home | PgDn | PgUp | End |
+
+### Raise
+
+| | | | | | | | | | | | |
+| :-------: | :-----: | :-----: | :----: | :-----: | :----: | :----: | :-------: | :-----: | :----: | :----: | :-------: |
+| ~<br>\` | !<br>1 | @<br>2 | #<br>3 | \$<br>4 | %<br>5 | ^<br>6 | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | <br>Bksp |
+| <br>Tab | \$<br>4 | %<br>5 | ^<br>6 | | | | | | | | \|<br>\ |
+| <br>Shift | &<br>7 | \*<br>8 | (<br>9 | )<br>0 | | | | <<br>, | ><br>. | ?<br>/ | <br>Enter |
+| Ctrl | | | Alt | | Sp | ace | **Raise** | Left | Down | Up | Right |
+
+### Function
+
+- Backlight breathing does not work.
+- **Term** button is bound to `Calculator`. I have set this button as a shortcut to open a terminal.
+- **Lock** is a shortcut for `Alt + L`
+
+| | | | | | | | | | | | |
+| :-------: | :---------: | :---------: | :---------: | :---------: | :--------: | :----------: | :--------: | :----: | :---------: | :-----: | :------: |
+| <br>F1 | <br>F2 | <br>F3 | <br>F4 | <br>F5 | <br>F6 | <br>F7 | <br>F8 | <br>F9 | <br>F10 | <br>F11 | <br>F12 |
+| <br>Caps | RGB<br>Togl | RGB<br>Hue+ | RGB<br>Sat+ | RGB<br>Brt+ | BL<br>Togl | BL<br>Breath | BL<br>Brt+ | | Scr<br>Brt+ | | <br>Vol+ |
+| <br>Shift | <br>Term | RGB<br>Hue- | RGB<br>Sat- | RGB<br>Brt- | WWW<br>< | WWW<br>> | BL<br>Brt- | | Scr<br>Brt- | PrScr | <br>Vol- |
+| Ctrl | **Fn** | RGB<br>Mode | Alt | | Sp | ace | MPrev | MStop | MNext | MPlay | Lock |
+
+## Usage
+
+```bash
+cd qmk_firmware
+make jj40:cockpit
+bootloadHID .build/jj40_cockpit.hex
+```
+
+_if you're getting permission errors use sudo_
diff --git a/keyboards/kprepublic/jj40/keymaps/default/keymap.c b/keyboards/kprepublic/jj40/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f54eac20af
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/default/keymap.c
@@ -0,0 +1,104 @@
+/* Copyright 2019
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWERTY = 0,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_planck_mit( \
+ KC_TAB, 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_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_planck_mit( \
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_planck_mit( \
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| | | | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_ortho_4x12( \
+ _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \
+ _______, _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+)
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/config.h b/keyboards/kprepublic/jj40/keymaps/fun40/config.h
new file mode 100644
index 0000000000..f2b5d264e7
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/fun40/config.h
@@ -0,0 +1,8 @@
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#include "../../config.h"
+
+#define FORCE_NKRO
+
+#endif
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/keymap.c b/keyboards/kprepublic/jj40/keymaps/fun40/keymap.c
new file mode 100644
index 0000000000..c15ba47ebb
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/fun40/keymap.c
@@ -0,0 +1,98 @@
+#include QMK_KEYBOARD_H
+
+#define _QWERTY 0
+#define _LOWER 1
+#define _RAISE 2
+#define _BL 4 // Backlight
+// #define _ADJUST 3
+#define TG_NKRO MAGIC_TOGGLE_NKRO
+
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ LOWER,
+ RAISE,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | Del | Alt | GUI |Lower | Space|Space |Raise | Left | Down | Up |Right |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_ortho_4x12( \
+ 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_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, \
+ KC_LCTL, KC_DEL, KC_LALT, KC_LGUI, MO(_LOWER),KC_SPC,KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | ! | @ | # | $ | % | ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Shift|PrScr |ISO ~ |ISO | | | | | | |bl_on |bl_stp| Enter|
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | nkro | Alt | NKRO |Lower | PgDn | PgUp |Raise | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_4x12( \
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, \
+ KC_LSFT, KC_PSCR, S(KC_NUHS), S(KC_NUBS), _______, _______, _______, _______, _______, BL_ON, BL_STEP, KC_ENT, \
+ KC_LCTL, MAGIC_TOGGLE_NKRO, KC_LALT, TG_NKRO, _______, KC_PGDN, KC_PGUP, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | Caps | + | - | = | ( | ) | | 7 | 8 | 9 | Bksp | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Lock | ~ | _ | | [ | ] | | 4 | 5 | 6 | |Enter |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Ins | ` | \ | | | { | } | | 1 | 2 | 3 | . | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Ctrl | | Alt | |Lower | | |Raise | 0 | | Home | End |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_ortho_4x12( \
+ KC_CAPS, KC_MINS, KC_PLUS, KC_EQL, KC_LPRN, KC_RPRN, _______, KC_7, KC_8, KC_9, KC_BSPC, KC_DEL, \
+ KC_LOCK, KC_TILD, KC_UNDS, _______,KC_LBRC, KC_RBRC, _______, KC_4, KC_5, KC_6, _______, _______, \
+ KC_INS, KC_GRV, KC_BSLS, KC_PIPE, KC_LCBR, KC_RCBR, _______, KC_1, KC_2, KC_3, KC_DOT, _______, \
+ KC_LCTL, _______, KC_LALT, _______, _______, _______, _______, _______, KC_0, _______, KC_HOME, KC_END \
+)
+
+/* Adjust
+ G = git
+ M = mail
+ * ,-----------------------------------------------------------------------------------.
+ * | gAdd |gStash| | const| | Clog | | | Mstk | Mrad |Mgmail| |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | gPush| | | if() | | Clog2| | | | |Mcity | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | gPull| | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | |Lower | | |Raise | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+
+
+/* Empty
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | |Lower | | |Raise | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+};
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/readme.md b/keyboards/kprepublic/jj40/keymaps/fun40/readme.md
new file mode 100644
index 0000000000..f4036fa0e0
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/fun40/readme.md
@@ -0,0 +1,4 @@
+# Fun 40%.
+
+* backlighting on flash
+ * backlight fails on reboot \ No newline at end of file
diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk b/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk
new file mode 100644
index 0000000000..187b59675e
--- /dev/null
+++ b/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk
@@ -0,0 +1,21 @@
+
+
+BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = no # Console for debug(+400)