diff options
Diffstat (limited to 'keyboards/jj40')
| -rw-r--r-- | keyboards/jj40/keymaps/like_jis/config.h | 49 | ||||
| -rw-r--r-- | keyboards/jj40/keymaps/like_jis/keymap.c | 200 | ||||
| -rw-r--r-- | keyboards/jj40/keymaps/like_jis/rules.mk | 5 |
3 files changed, 254 insertions, 0 deletions
diff --git a/keyboards/jj40/keymaps/like_jis/config.h b/keyboards/jj40/keymaps/like_jis/config.h new file mode 100644 index 000000000..cd9709272 --- /dev/null +++ b/keyboards/jj40/keymaps/like_jis/config.h | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | /* | ||
| 2 | This is the c configuration file for the keymap | ||
| 3 | |||
| 4 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 5 | Copyright 2015 Jack Humbert | ||
| 6 | |||
| 7 | This program is free software: you can redistribute it and/or modify | ||
| 8 | it under the terms of the GNU General Public License as published by | ||
| 9 | the Free Software Foundation, either version 2 of the License, or | ||
| 10 | (at your option) any later version. | ||
| 11 | |||
| 12 | This program is distributed in the hope that it will be useful, | ||
| 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | GNU General Public License for more details. | ||
| 16 | |||
| 17 | You should have received a copy of the GNU General Public License | ||
| 18 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #pragma once | ||
| 22 | |||
| 23 | // place overrides here | ||
| 24 | |||
| 25 | #define TAPPING_TERM 200 | ||
| 26 | |||
| 27 | #ifdef MOUSEKEY_ENABLE | ||
| 28 | #undef MOUSEKEY_INTERVAL | ||
| 29 | #define MOUSEKEY_INTERVAL 5 | ||
| 30 | |||
| 31 | #undef MOUSEKEY_TIME_TO_MAX | ||
| 32 | #define MOUSEKEY_TIME_TO_MAX 150 | ||
| 33 | |||
| 34 | #undef MOUSEKEY_MAX_SPEED | ||
| 35 | #define MOUSEKEY_MAX_SPEED 3 | ||
| 36 | |||
| 37 | #undef MOUSEKEY_MOVE_DELTA | ||
| 38 | #define MOUSEKEY_MOVE_DELTA 3 | ||
| 39 | |||
| 40 | #undef MOUSEKEY_DELAY | ||
| 41 | #define MOUSEKEY_DELAY 0 | ||
| 42 | #endif | ||
| 43 | |||
| 44 | #undef BACKLIGHT_LEVELS | ||
| 45 | #define BACKLIGHT_LEVELS 15 | ||
| 46 | // #undef BACKLIGHT_LEVELS | ||
| 47 | // #define BACKLIGHT_BREATHING | ||
| 48 | // #undef BREATHING_PERIOD | ||
| 49 | // #define BREATHING_PERIOD 4 | ||
diff --git a/keyboards/jj40/keymaps/like_jis/keymap.c b/keyboards/jj40/keymaps/like_jis/keymap.c new file mode 100644 index 000000000..4724933ea --- /dev/null +++ b/keyboards/jj40/keymaps/like_jis/keymap.c | |||
| @@ -0,0 +1,200 @@ | |||
| 1 | #include QMK_KEYBOARD_H | ||
| 2 | |||
| 3 | #define _QWERTY 0 | ||
| 4 | #define _LOWER 3 | ||
| 5 | #define _RAISE 4 | ||
| 6 | #define _ADJUST 16 | ||
| 7 | |||
| 8 | enum custom_keycodes { | ||
| 9 | LOWER = SAFE_RANGE, | ||
| 10 | RAISE, | ||
| 11 | ADJUST, | ||
| 12 | RGBRST | ||
| 13 | }; | ||
| 14 | |||
| 15 | #define KC______ KC_TRNS | ||
| 16 | #define KC_XXXXX KC_NO | ||
| 17 | #define KC_KANJI KC_GRV | ||
| 18 | |||
| 19 | #define KC_LOWER LOWER | ||
| 20 | #define KC_RAISE RAISE | ||
| 21 | #define KC_ADJST ADJUST | ||
| 22 | |||
| 23 | #define KC_RST RESET | ||
| 24 | |||
| 25 | #define KC_LRST RGBRST | ||
| 26 | #define KC_LTOG RGB_TOG | ||
| 27 | #define KC_LHUI RGB_HUI | ||
| 28 | #define KC_LHUD RGB_HUD | ||
| 29 | #define KC_LSAI RGB_SAI | ||
| 30 | #define KC_LSAD RGB_SAD | ||
| 31 | #define KC_LVAI RGB_VAI | ||
| 32 | #define KC_LVAD RGB_VAD | ||
| 33 | #define KC_LSMOD RGB_SMOD | ||
| 34 | #define KC_BTOG BL_TOGG | ||
| 35 | #define KC_BINC BL_INC | ||
| 36 | #define KC_BDEC BL_DEC | ||
| 37 | // #define KC_BRTG BL_BRTG | ||
| 38 | |||
| 39 | #define KC_KNRM AG_NORM | ||
| 40 | #define KC_KSWP AG_SWAP | ||
| 41 | |||
| 42 | // Layer Mode aliases | ||
| 43 | // #define KC_L_LO MO(_LOWER) | ||
| 44 | // #define KC_L_RA MO(_RAISE) | ||
| 45 | // #define KC_L_AD MO(_ADJUST) | ||
| 46 | #define KC_TBSF LSFT_T(KC_TAB) | ||
| 47 | // #define KC_SPSF LSFT_T(KC_SPC) | ||
| 48 | // #define KC_GUAP LALT_T(KC_APP) | ||
| 49 | |||
| 50 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 51 | [_QWERTY] = KC_LAYOUT_ortho_4x12( \ | ||
| 52 | //,-----------------------------------------------------------------------------------. | ||
| 53 | ESC, Q, W, E, R, T, Y, U, I, O, P, MINS,\ | ||
| 54 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 55 | TBSF, A, S, D, F, G, H, J, K, L, SCLN, ENT,\ | ||
| 56 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 57 | LSFT, Z, X, C, V, B, N, M, COMM, DOT, UP, RSFT,\ | ||
| 58 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 59 | LCTRL, LALT, LGUI, ADJST, LOWER, BSPC, SPC, RAISE, APP, LEFT, DOWN, RGHT \ | ||
| 60 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 61 | ), | ||
| 62 | |||
| 63 | [_LOWER] = KC_LAYOUT_ortho_4x12( \ | ||
| 64 | //,-----------------------------------------------------------------------------------. | ||
| 65 | TAB, F1, F2, F3, F4, F5, XXXXX, MINS, EQL, JYEN, LBRC, RBRC,\ | ||
| 66 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 67 | _____, F6, F7, F8, F9, F10, XXXXX, XXXXX, XXXXX, SCLN, QUOT, BSLS,\ | ||
| 68 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 69 | _____, F11, F12, XXXXX, KANJI, ENT, XXXXX, XXXXX, COMM, DOT, SLSH, RO,\ | ||
| 70 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 71 | _____, _____, _____, _____, _____, DEL, _____, _____, _____, _____, _____, _____ \ | ||
| 72 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 73 | ), | ||
| 74 | |||
| 75 | [_RAISE] = KC_LAYOUT_ortho_4x12( \ | ||
| 76 | //,-----------------------------------------------------------------------------------. | ||
| 77 | _____, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,\ | ||
| 78 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 79 | _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, 4, 5, 6, QUOT, PLUS,\ | ||
| 80 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 81 | _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, 0, 1, 2, 3, DOT, SLSH,\ | ||
| 82 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 83 | _____, _____, _____, _____, _____, BSPC, _____, _____, _____, _____, _____, _____ \ | ||
| 84 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 85 | ), | ||
| 86 | |||
| 87 | [_ADJUST] = KC_LAYOUT_ortho_4x12( \ | ||
| 88 | //,-----------------------------------------------------------------------------------. | ||
| 89 | XXXXX, RST, LRST, KNRM, KSWP, XXXXX, XXXXX, WH_L, WH_U, HOME, PGUP, XXXXX,\ | ||
| 90 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 91 | XXXXX, LTOG, LHUI, LSAI, LVAI, BTOG, BINC, WH_R, WH_D, END, PGDN, XXXXX,\ | ||
| 92 | //|------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 93 | XXXXX, LSMOD, LHUD, LSAD, LVAD, XXXXX, BDEC, XXXXX, BTN1, BTN2, MS_U, XXXXX,\ | ||
| 94 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 95 | _____, _____, _____, _____, _____, XXXXX, XXXXX, _____, _____, MS_L, MS_D, MS_R \ | ||
| 96 | //|------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 97 | ) | ||
| 98 | }; | ||
| 99 | |||
| 100 | |||
| 101 | #ifdef BACKLIGHT_ENABLE | ||
| 102 | extern backlight_config_t backlight_config; | ||
| 103 | |||
| 104 | inline void enable_backright(bool on) { | ||
| 105 | backlight_config.enable = on; | ||
| 106 | if (backlight_config.raw == 1) // enabled but level = 0 | ||
| 107 | backlight_config.level = 1; | ||
| 108 | eeconfig_update_backlight(backlight_config.raw); | ||
| 109 | // dprintf("backlight toggle: %u\n", backlight_config.enable); | ||
| 110 | backlight_set(backlight_config.enable ? backlight_config.level : 0); | ||
| 111 | } | ||
| 112 | |||
| 113 | uint8_t bl_breath_count; | ||
| 114 | uint8_t bl_breath_speed = 10; | ||
| 115 | int8_t bl_breath_updown = 1; | ||
| 116 | bool bl_breath_on; | ||
| 117 | backlight_config_t bl_breath_backup; | ||
| 118 | |||
| 119 | void bl_breath_start(uint8_t speed) { | ||
| 120 | |||
| 121 | bl_breath_on = true; | ||
| 122 | bl_breath_speed = speed; | ||
| 123 | bl_breath_backup = backlight_config; | ||
| 124 | } | ||
| 125 | |||
| 126 | void bl_breath_end(void) { | ||
| 127 | |||
| 128 | bl_breath_on = false; | ||
| 129 | backlight_config = bl_breath_backup; | ||
| 130 | eeconfig_update_backlight(backlight_config.raw); | ||
| 131 | backlight_set(backlight_config.enable ? backlight_config.level : 0); | ||
| 132 | } | ||
| 133 | |||
| 134 | void bl_breath_update(void) { | ||
| 135 | |||
| 136 | if (bl_breath_on) { | ||
| 137 | ++bl_breath_count; | ||
| 138 | if (bl_breath_count > bl_breath_speed) { | ||
| 139 | bl_breath_count = 0; | ||
| 140 | |||
| 141 | backlight_config.level += bl_breath_updown; | ||
| 142 | bl_breath_updown = (backlight_config.level > BACKLIGHT_LEVELS) ? -1 : | ||
| 143 | (backlight_config.level <= 0) ? 1 : | ||
| 144 | bl_breath_updown; | ||
| 145 | enable_backright(true); | ||
| 146 | } | ||
| 147 | } | ||
| 148 | } | ||
| 149 | |||
| 150 | #define BL_BREATH_START bl_breath_start | ||
| 151 | #define BL_BREATH_END bl_breath_end | ||
| 152 | #define BL_BREATH_UPDATE bl_breath_update | ||
| 153 | |||
| 154 | #else | ||
| 155 | |||
| 156 | #define BL_BREATH_START(a) | ||
| 157 | #define BL_BREATH_END() | ||
| 158 | #define BL_BREATH_UPDATE() | ||
| 159 | #endif | ||
| 160 | |||
| 161 | // Loop | ||
| 162 | void matrix_scan_user(void) { | ||
| 163 | |||
| 164 | BL_BREATH_UPDATE(); | ||
| 165 | } | ||
| 166 | |||
| 167 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 168 | |||
| 169 | switch (keycode) { | ||
| 170 | case LOWER: | ||
| 171 | if (record->event.pressed) { | ||
| 172 | BL_BREATH_START(50); | ||
| 173 | layer_on(_LOWER); | ||
| 174 | } else { | ||
| 175 | BL_BREATH_END(); | ||
| 176 | layer_off(_LOWER); | ||
| 177 | } | ||
| 178 | break; | ||
| 179 | case RAISE: | ||
| 180 | if (record->event.pressed) { | ||
| 181 | BL_BREATH_START(100); | ||
| 182 | layer_on(_RAISE); | ||
| 183 | } else { | ||
| 184 | BL_BREATH_END(); | ||
| 185 | layer_off(_RAISE); | ||
| 186 | } | ||
| 187 | break; | ||
| 188 | case ADJUST: | ||
| 189 | if (record->event.pressed) { | ||
| 190 | layer_on(_ADJUST); | ||
| 191 | } else { | ||
| 192 | layer_off(_ADJUST); | ||
| 193 | } | ||
| 194 | break; | ||
| 195 | default: | ||
| 196 | return true; | ||
| 197 | } | ||
| 198 | |||
| 199 | return false; | ||
| 200 | } | ||
diff --git a/keyboards/jj40/keymaps/like_jis/rules.mk b/keyboards/jj40/keymaps/like_jis/rules.mk new file mode 100644 index 000000000..0103be5f4 --- /dev/null +++ b/keyboards/jj40/keymaps/like_jis/rules.mk | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | MOUSEKEY_ENABLE = yes | ||
| 2 | BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | ||
| 3 | |||
| 4 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
| 5 | SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
