From a1f129edd50f0c2e751b904db9639cea9c9314e9 Mon Sep 17 00:00:00 2001 From: Salicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com> Date: Fri, 16 Oct 2020 13:22:25 +0900 Subject: [PATCH] [Keyboard] Added via support for JISplit89 (#10547) -Changing the VID -Add a keymap via -Keymap and copyright fixes --- keyboards/jisplit89/config.h | 3 +- keyboards/jisplit89/jisplit89.c | 17 +++++ keyboards/jisplit89/jisplit89.h | 17 +++++ keyboards/jisplit89/keymaps/default/keymap.c | 45 ++++++------ .../jisplit89/keymaps/salicylic/keymap.c | 47 ++++++------ .../jisplit89/keymaps/salicylic/rules.mk | 2 +- keyboards/jisplit89/keymaps/via/config.h | 21 ++++++ keyboards/jisplit89/keymaps/via/keymap.c | 71 +++++++++++++++++++ keyboards/jisplit89/keymaps/via/rules.mk | 1 + keyboards/jisplit89/rev1/config.h | 9 ++- keyboards/jisplit89/rev1/rev1.c | 17 +++++ keyboards/jisplit89/rev1/rev1.h | 20 +++++- keyboards/jisplit89/rules.mk | 10 +-- 13 files changed, 219 insertions(+), 61 deletions(-) create mode 100644 keyboards/jisplit89/keymaps/via/config.h create mode 100644 keyboards/jisplit89/keymaps/via/keymap.c create mode 100644 keyboards/jisplit89/keymaps/via/rules.mk diff --git a/keyboards/jisplit89/config.h b/keyboards/jisplit89/config.h index cfb6bf4ffc..c9b55e7a03 100644 --- a/keyboards/jisplit89/config.h +++ b/keyboards/jisplit89/config.h @@ -1,6 +1,5 @@ /* -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert +Copyright 2020 Salicylic_Acid 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 diff --git a/keyboards/jisplit89/jisplit89.c b/keyboards/jisplit89/jisplit89.c index f57f71a6fc..0f03aa4ce2 100644 --- a/keyboards/jisplit89/jisplit89.c +++ b/keyboards/jisplit89/jisplit89.c @@ -1 +1,18 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + #include "jisplit89.h" diff --git a/keyboards/jisplit89/jisplit89.h b/keyboards/jisplit89/jisplit89.h index ab1ed00ba6..b59b5a66a2 100644 --- a/keyboards/jisplit89/jisplit89.h +++ b/keyboards/jisplit89/jisplit89.h @@ -1,3 +1,20 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + #pragma once #ifdef KEYBOARD_jisplit89_rev1 diff --git a/keyboards/jisplit89/keymaps/default/keymap.c b/keyboards/jisplit89/keymaps/default/keymap.c index 787e74c4e9..bfbb09898e 100644 --- a/keyboards/jisplit89/keymaps/default/keymap.c +++ b/keyboards/jisplit89/keymaps/default/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + #include QMK_KEYBOARD_H #include "keymap_jp.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -46,30 +63,18 @@ LT(_ADJUST,KC_ZKHK),KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7 ) }; -int RGB_current_mode; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool result = false; - switch (keycode) { + switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - break; case RGB_RST: if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); + uint8_t mode = rgblight_get_mode(); + eeconfig_update_rgblight_default(); + rgblight_enable(); + rgblight_mode(mode); } - break; + break; #endif - default: - result = true; - break; - } - - return result; + } + return true; } diff --git a/keyboards/jisplit89/keymaps/salicylic/keymap.c b/keyboards/jisplit89/keymaps/salicylic/keymap.c index 350292db1c..e41027961c 100644 --- a/keyboards/jisplit89/keymaps/salicylic/keymap.c +++ b/keyboards/jisplit89/keymaps/salicylic/keymap.c @@ -1,3 +1,20 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + #include QMK_KEYBOARD_H #include "keymap_jp.h" // Each layer gets a name for readability, which is then used in the keymap matrix below. @@ -110,34 +127,22 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX //A description for expressing the layer position in LED mode. layer_state_t layer_state_set_user(layer_state_t state) { - state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); -return state; + return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); } int RGB_current_mode; bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool result = false; - switch (keycode) { + switch (keycode) { #ifdef RGBLIGHT_ENABLE - case RGB_MOD: - if (record->event.pressed) { - rgblight_mode(RGB_current_mode); - rgblight_step(); - RGB_current_mode = rgblight_get_mode(); - } - break; case RGB_RST: if (record->event.pressed) { - eeconfig_update_rgblight_default(); - rgblight_enable(); - RGB_current_mode = rgblight_get_mode(); + uint8_t mode = rgblight_get_mode(); + eeconfig_update_rgblight_default(); + rgblight_enable(); + rgblight_mode(mode); } - break; + break; #endif - default: - result = true; - break; - } - - return result; + } + return true; } diff --git a/keyboards/jisplit89/keymaps/salicylic/rules.mk b/keyboards/jisplit89/keymaps/salicylic/rules.mk index 0bcbf86d5e..8db2280906 100644 --- a/keyboards/jisplit89/keymaps/salicylic/rules.mk +++ b/keyboards/jisplit89/keymaps/salicylic/rules.mk @@ -1,2 +1,2 @@ TAP_DANCE_ENABLE = yes -MOUSEKEY_ENABLE = yes \ No newline at end of file +MOUSEKEY_ENABLE = yes diff --git a/keyboards/jisplit89/keymaps/via/config.h b/keyboards/jisplit89/keymaps/via/config.h new file mode 100644 index 0000000000..08bcdab701 --- /dev/null +++ b/keyboards/jisplit89/keymaps/via/config.h @@ -0,0 +1,21 @@ +/* Copyright 2020 Salicylic_acid3 + * + * 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 . + */ + +#pragma once + +/* Select hand configuration */ + +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 diff --git a/keyboards/jisplit89/keymaps/via/keymap.c b/keyboards/jisplit89/keymaps/via/keymap.c new file mode 100644 index 0000000000..61bcadbc7d --- /dev/null +++ b/keyboards/jisplit89/keymaps/via/keymap.c @@ -0,0 +1,71 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + +#include QMK_KEYBOARD_H +#include "keymap_jp.h" +// 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. + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + //,-----------------------------------------------------| |--------------------------------------------------------------------------------. + KC_ESC, 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_INS, KC_PSCR, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| +LT(1,KC_ZKHK),KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_EQL, JP_YEN, KC_BSPC, KC_DEL, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_ENT, KC_HOME, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_QUOT, JP_RBRC, KC_END, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_PGDN, KC_UP, KC_PGUP, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + KC_LCTRL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_HENK, KC_KANA, KC_APP, KC_LEFT, KC_DOWN,KC_RIGHT + //`-----------------------------------------------------| |--------------------------------------------------------------------------------' + ), + [1] = LAYOUT( /* Base */ + //,-----------------------------------------------------| |--------------------------------------------------------------------------------. + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + MO(1), 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, 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, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + //`-----------------------------------------------------| |--------------------------------------------------------------------------------' + ), + [2] = LAYOUT( /* Base */ + //,-----------------------------------------------------| |--------------------------------------------------------------------------------. + 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, 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, 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, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------| + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + //`-----------------------------------------------------| |--------------------------------------------------------------------------------' + ) +}; diff --git a/keyboards/jisplit89/keymaps/via/rules.mk b/keyboards/jisplit89/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/jisplit89/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/jisplit89/rev1/config.h b/keyboards/jisplit89/rev1/config.h index a2ba9040f7..ee5f2ca0bc 100644 --- a/keyboards/jisplit89/rev1/config.h +++ b/keyboards/jisplit89/rev1/config.h @@ -1,5 +1,5 @@ /* -Copyright 2020 Salicylic_acid3 +Copyright 2020 Salicylic_Acid 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 @@ -18,12 +18,11 @@ along with this program. If not, see . #pragma once /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x3060 -#define DEVICE_VER 0x06ae +#define VENDOR_ID 0x04D8 +#define PRODUCT_ID 0xEB4F +#define DEVICE_VER 0x0001 #define MANUFACTURER Salicylic_Acid #define PRODUCT jisplit89 -#define DESCRIPTION A custom keyboard /* key matrix size */ #define MATRIX_ROWS 14 diff --git a/keyboards/jisplit89/rev1/rev1.c b/keyboards/jisplit89/rev1/rev1.c index 520a869e57..13e201e63a 100644 --- a/keyboards/jisplit89/rev1/rev1.c +++ b/keyboards/jisplit89/rev1/rev1.c @@ -1 +1,18 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + #include "rev1.h" diff --git a/keyboards/jisplit89/rev1/rev1.h b/keyboards/jisplit89/rev1/rev1.h index 13fb08dfea..71515f5ef6 100644 --- a/keyboards/jisplit89/rev1/rev1.h +++ b/keyboards/jisplit89/rev1/rev1.h @@ -1,12 +1,26 @@ +/* +Copyright 2020 Salicylic_Acid + +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 . +*/ + #pragma once #include "jisplit89.h" #include "quantum.h" -////////////////////////////////////////////////////////////////////////////// -// When only use JISplit89. -////////////////////////////////////////////////////////////////////////////// /* * ,-------------------------------------- ----------------------------------------------------------. * | L00 | L01 | L02 | L03 | L04 | L05 | | R00 | R01 | R02 | R03 | R04 | R05 | R06 | R07 | R60 | diff --git a/keyboards/jisplit89/rules.mk b/keyboards/jisplit89/rules.mk index c78aa66ba5..9c714e88f6 100644 --- a/keyboards/jisplit89/rules.mk +++ b/keyboards/jisplit89/rules.mk @@ -2,20 +2,12 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = caterina # Build Options # change yes to no to disable - # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug