From 49464be64559710318f4d8edc5a92a7a90784734 Mon Sep 17 00:00:00 2001 From: marksard <38324387+marksard@users.noreply.github.com> Date: Sat, 18 May 2019 04:40:02 +0900 Subject: [PATCH] [Keymap] Add keymap for minivan (#5887) * Keyboard: add treeadstone48 * rename layout defines * Use of pragma once * move common include code * fixed info.json * change keymap layout from kc to normal * fix alpha revision keymap * fixed info.json * remove USE_Link_Time_Optimization * Added like_jis keymap for minivan/KUMO keyboard. * Fixed comments * Fixed review --- .../minivan/keymaps/like_jis/config.h | 43 +++++ .../minivan/keymaps/like_jis/keymap.c | 173 ++++++++++++++++++ .../minivan/keymaps/like_jis/readme.md | 63 +++++++ .../minivan/keymaps/like_jis/rules.mk | 25 +++ 4 files changed, 304 insertions(+) create mode 100644 keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h create mode 100644 keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c create mode 100644 keyboards/thevankeyboards/minivan/keymaps/like_jis/readme.md create mode 100644 keyboards/thevankeyboards/minivan/keymaps/like_jis/rules.mk diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h b/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h new file mode 100644 index 0000000000..4c4e6d37b5 --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/config.h @@ -0,0 +1,43 @@ +#pragma once + +// place overrides here +#define TAPPING_TERM 200 +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_TERM_PER_KEY + +#ifdef MOUSEKEY_ENABLE + #undef MOUSEKEY_INTERVAL + #define MOUSEKEY_INTERVAL 1 + + #undef MOUSEKEY_TIME_TO_MAX + #define MOUSEKEY_TIME_TO_MAX 150 + + #undef MOUSEKEY_MAX_SPEED + #define MOUSEKEY_MAX_SPEED 3 + + #undef MOUSEKEY_MOVE_DELTA + #define MOUSEKEY_MOVE_DELTA 4 + + #undef MOUSEKEY_DELAY + #define MOUSEKEY_DELAY 0 +#endif + +// Selection of RGBLIGHT MODE to use. +#if defined(LED_ANIMATIONS) + //#define RGBLIGHT_EFFECT_BREATHING + #define RGBLIGHT_EFFECT_RAINBOW_MOOD + #define RGBLIGHT_EFFECT_RAINBOW_SWIRL + //#define RGBLIGHT_EFFECT_SNAKE + #define RGBLIGHT_EFFECT_KNIGHT + //#define RGBLIGHT_EFFECT_CHRISTMAS + #define RGBLIGHT_EFFECT_STATIC_GRADIENT + //#define RGBLIGHT_EFFECT_RGB_TEST + //#define RGBLIGHT_EFFECT_ALTERNATING +#endif + +// LED Setting: if you have KUMO you can use RGBLIGHT_ENABLE = yes +#ifdef RGBLIGHT_ENABLE + #define RGB_DI_PIN D0 + #define RGBLIGHT_TIMER + #define RGBLED_NUM 3 +#endif diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c new file mode 100644 index 0000000000..3d282e182b --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/keymap.c @@ -0,0 +1,173 @@ +#include QMK_KEYBOARD_H +#include "keymap_jp.h" + +extern keymap_config_t keymap_config; + +#ifdef RGBLIGHT_ENABLE +//Following line allows macro to read current RGB settings +extern rgblight_config_t rgblight_config; +#endif + +extern uint8_t is_master; + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_number { + _BASE = 0, + _LOWER, + _RAISE, + _ADJUST, +}; + +enum custom_keycodes { + LOWER = SAFE_RANGE, + RAISE, + ADJUST, + KANJI, + RGBRST +}; + +enum tapdances{ + TD_SCCL = 0, +}; + +// Layer Mode aliases +#define KC_TBSF LSFT_T(KC_TAB) +#define KC_ROSF RSFT_T(KC_RO) +#define KC_ALAP LALT_T(KC_APP) + +// Layer tap +#define KC_BSLO LT(_LOWER, KC_BSPC) +#define KC_SPRA LT(_RAISE, KC_SPC) +#define KC_MLAD MO(_ADJUST) + +#define KC_SCCL TD(TD_SCCL) + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_SCCL] = ACTION_TAP_DANCE_DOUBLE(KC_SCLN, KC_QUOT), +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + //,-----------------------------------------------------------------------------------------------------------. + // Esc Q W E R T Y U I O P - + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + //Tab/Shift A S D F G H J K L ;/: Enter + KC_TBSF, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCCL, KC_ENT, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Shift Z X C V B N M , . / yen + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ROSF, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Ctrl Alt GUI/Comm BackSpace/Lower Space/Raise Alt Menu Ctrl + KC_LCTL, KC_LALT, KC_LGUI, KC_BSLO, KC_SPRA, KC_RALT, KC_ALAP, KC_RCTL + //`-----------------------------------------------------------------------------------------------------------' + ), + + [_LOWER] = LAYOUT( + //,-----------------------------------------------------------------------------------------------------------. + // F1 F2 F3 F4 F5 - ^ \ @ [ Delete + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_JYEN, KC_LBRC, KC_RBRC, KC_DEL, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // F6 F7 F8 F9 F10 ; : ] + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_BSLS, _______, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // F11 F12 Kana/Kanji Enter Delete + _______, KC_F11, KC_F12, XXXXXXX, KANJI, KC_ENT, KC_DEL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Adjust + _______, _______, _______, _______, KC_MLAD, _______, _______, _______ + //`-----------------------------------------------------------------------------------------------------------' + ), + + [_RAISE] = LAYOUT( + //,-----------------------------------------------------------------------------------------------------------. + // 1 2 3 4 5 6 7 8 9 0 - + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Left Down Up Right + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // , . / yen + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT, KC_SLSH, KC_ROSF, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______ + //`-----------------------------------------------------------------------------------------------------------' + ), + + [_ADJUST] = LAYOUT( + //,-----------------------------------------------------------------------------------------------------------. + // Reset LEDReset MacMode WinMode Home PageDown PageUp End + _______, RESET, RGBRST, AG_NORM, AG_SWAP, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // LED On/Off Hue/Saturation/Value Increment Mouse Left Down Up Right + _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, _______, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // LED Mode Hue/Saturation/Value Decrement Mouse Button Left Right + _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______ + //`-----------------------------------------------------------------------------------------------------------' + ) +}; + +#define TAPPING_LAYER_TERM 150 // Custom LT Tapping term +uint16_t get_tapping_term(uint16_t keycode) { + switch (keycode) { + case KC_BSLO: + return TAPPING_LAYER_TERM; + case KC_SPRA: + return TAPPING_LAYER_TERM; + default: + return TAPPING_TERM; + } +} + +int RGB_current_mode; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + bool result = false; + switch (keycode) { + case KANJI: + if (record->event.pressed) { + if (keymap_config.swap_lalt_lgui == false) { + register_code(KC_LANG2); + } else { + SEND_STRING(SS_LALT("`")); + } + } else { + unregister_code(KC_LANG2); + } + break; + #ifdef RGBLIGHT_ENABLE + //led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released + case RGB_MOD: + if (record->event.pressed) { + rgblight_mode(RGB_current_mode); + rgblight_step(); + RGB_current_mode = rgblight_config.mode; + } + break; + case RGBRST: + if (record->event.pressed) { + eeconfig_update_rgblight_default(); + rgblight_enable(); + RGB_current_mode = rgblight_config.mode; + } + break; + #endif + default: + result = true; + break; + } + + return result; +} + +void matrix_init_user(void) { + #ifdef RGBLIGHT_ENABLE + RGB_current_mode = rgblight_config.mode; + #endif +} diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/readme.md b/keyboards/thevankeyboards/minivan/keymaps/like_jis/readme.md new file mode 100644 index 0000000000..d7c1a091e6 --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/readme.md @@ -0,0 +1,63 @@ +# The LikeJIS is Japanese Keyboard like keymap + +This keymap use for KUMO. Therefore it can use full color LED indicators used by D0 pin. But this keymap as use as Illumination :) + +## Keymap Description + +- Tab/Shift ...... Tab key is one tap, Shift key is long push. +- ;/: ...... ; key is one tap, : key is double tap. +- BackSpace/Lower ...... Backspace key is one tap, Move to Lower layer with long push. +- Space/Raise ...... Space key is one tap, Move to Raise layer with . +- Kanji ...... Japanese IME toggle key. + +## How to move to Ajdust Layer + +At first, Move to Lower layer with long push. After that Adjust key with long push. Now you have into Adjust layer state. + +```c +Base Layer + //,-----------------------------------------------------------------------------------------------------------. + // Esc Q W E R T Y U I O P - + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + //Tab/Shift A S D F G H J K L ;/: Enter + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Shift Z X C V B N M , . / \ + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Ctrl Alt GUI BackSpace/Lower Space/Raise Alt Menu Ctrl + //`-----------------------------------------------------------------------------------------------------------' + +Lower Layer + //,-----------------------------------------------------------------------------------------------------------. + // F1 F2 F3 F4 F5 - ^ \ @ [ Delete + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // F6 F7 F8 F9 F10 ; : ] + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // F11 F12 Kanji Enter Delete + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Adjust + //`-----------------------------------------------------------------------------------------------------------' + +Raise Layer + //,-----------------------------------------------------------------------------------------------------------. + // 1 2 3 4 5 6 7 8 9 0 - + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // Left Down Up Right + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // , . / \ + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // + //`-----------------------------------------------------------------------------------------------------------' + +Adjust Layer + //,-----------------------------------------------------------------------------------------------------------. + // Reset LEDReset MacMode WinMode Home PageDown PageUp End + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // LED On/Off Hue Saturation Value Increment MouseLeft Down Up Right + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // LED Mode Hue Saturation Value Decrement Button L R + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + // + //`-----------------------------------------------------------------------------------------------------------' + }; + +``` diff --git a/keyboards/thevankeyboards/minivan/keymaps/like_jis/rules.mk b/keyboards/thevankeyboards/minivan/keymaps/like_jis/rules.mk new file mode 100644 index 0000000000..07f71d6dbb --- /dev/null +++ b/keyboards/thevankeyboards/minivan/keymaps/like_jis/rules.mk @@ -0,0 +1,25 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = no # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +TAP_DANCE_ENABLE = yes + +LED_ANIMATIONS = yes # LED animations + +ifeq ($(strip $(LED_ANIMATIONS)), yes) + # OPT_DEFS += -DRGBLIGHT_ANIMATIONS + OPT_DEFS += -DLED_ANIMATIONS +endif