Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Keyboard] Add new keyboard quick17 #13703

Merged
merged 61 commits into from
Sep 18, 2021
Merged
Show file tree
Hide file tree
Changes from 59 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
28525f1
update "Hardware Availability"
keyaki-namiki Jul 25, 2020
22305cf
add a section of "How to build"
keyaki-namiki Jul 30, 2020
21ecbbb
update "Hardware Supported"
keyaki-namiki Jul 30, 2020
61ec29d
Merge pull request #2 from keyaki-namiki/quick7_readme_update
MakotoKurauchi Sep 5, 2020
aefc99d
Merge branch 'master' of https://github.com/qmk/qmk_firmware into new…
keyaki-namiki Sep 10, 2020
a1cb86c
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Sep 10, 2020
a6a7b7f
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Sep 12, 2020
756f6da
Merge branch 'master' of https://github.com/yushakobo/qmk_firmware in…
keyaki-namiki Oct 1, 2020
619cb9f
start project quick17
keyaki-namiki Oct 1, 2020
8725208
led indicator implementation [wip]
keyaki-namiki Oct 4, 2020
d594d30
switch to #define to define custom keycodes
keyaki-namiki Oct 8, 2020
e023762
add via keymaps
keyaki-namiki Oct 8, 2020
c7bb123
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Oct 12, 2020
ad37700
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Oct 14, 2020
3ed1ecc
Merge branch 'master' of github.com:yushakobo/qmk_firmware
MakotoKurauchi Oct 14, 2020
925013e
modifications in keymaps/*/keymap.c
keyaki-namiki Oct 14, 2020
a7fb6a0
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Oct 27, 2020
4b7eb45
cleanup some lines
keyaki-namiki Nov 5, 2020
53e49e7
switch to use ProMicro
keyaki-namiki Nov 12, 2020
b5d6f23
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Dec 8, 2020
634983c
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Dec 20, 2020
5b974a9
Merge branch 'master' of https://github.com/qmk/qmk_firmware
MakotoKurauchi Jan 20, 2021
3aaf688
update config.h
keyaki-namiki Feb 13, 2021
92bcb47
Merge branch 'master' of https://github.com/yushakobo/qmk_firmware in…
keyaki-namiki Feb 13, 2021
06ca08d
clean up default keymaps on yushakobo/quick17
keyaki-namiki Feb 17, 2021
03080d7
change bootloader to caterina
keyaki-namiki Feb 17, 2021
94572df
update default keymaps
keyaki-namiki Apr 15, 2021
b05e5f5
changed the order of the LEDs
keyaki-namiki Apr 22, 2021
946b77f
enable rotary encoder
keyaki-namiki Apr 22, 2021
75d959c
update LED animations[wip]
keyaki-namiki Apr 22, 2021
d0c1e47
small update in rgblight layers
keyaki-namiki Apr 22, 2021
20c4a24
enable rgb_matrix
keyaki-namiki Apr 22, 2021
4f19492
rearrange the LED order
keyaki-namiki May 10, 2021
5adaa46
customize rgb matrix animations
keyaki-namiki May 10, 2021
a8fe19e
small progress in rgb_matrix_user.inc
keyaki-namiki May 15, 2021
a023bca
some progress in rgb matrix things
keyaki-namiki Jun 10, 2021
8f94546
rgb matrix implementation looks complete
keyaki-namiki Jun 24, 2021
5c2ab58
little progress in rgb_matrix_kb.inc
keyaki-namiki Jun 24, 2021
cfe0ef9
small progress in keymap.c and rgb_matrix_kb.inc
keyaki-namiki Jun 27, 2021
3bf0918
cleanup keymaps and rgb_matrix_kb.inc
keyaki-namiki Jul 1, 2021
809c5dc
update files
keyaki-namiki Jul 1, 2021
8c3dee3
RGB_MATRIX implementation looks completed
keyaki-namiki Jul 1, 2021
b2ed5ca
update and cleanup some files
keyaki-namiki Jul 1, 2021
205e3c6
update some readme.md
keyaki-namiki Jul 3, 2021
70f66f0
update readme.md
keyaki-namiki Jul 3, 2021
83024cd
Merge branch 'master' of https://github.com/qmk/qmk_firmware into new…
keyaki-namiki Jul 18, 2021
0b73843
change callbacks for the encoder
keyaki-namiki Jul 3, 2021
4ca958c
update some documents
keyaki-namiki Jul 8, 2021
ac9102a
update readme.md
keyaki-namiki Jul 24, 2021
bdbc91b
Merge branch 'master' of https://github.com/qmk/qmk_firmware into new…
keyaki-namiki Jul 24, 2021
04568e6
Merge pull request #12 from keyaki-namiki/new_keyboard_quick17-pre_merge
MakotoKurauchi Jul 25, 2021
929573a
Update keyboards/yushakobo/quick17/config.h
MakotoKurauchi Jul 26, 2021
eeb07f5
Update keyboards/yushakobo/quick17/config.h
MakotoKurauchi Sep 15, 2021
7f1b925
Update keyboards/yushakobo/quick17/keymaps/default/keymap.c
MakotoKurauchi Sep 15, 2021
99f1398
Update keyboards/yushakobo/quick17/keymaps/via/keymap.c
MakotoKurauchi Sep 15, 2021
92e4ba3
add license header
MakotoKurauchi Sep 15, 2021
d44f3c3
Update keyboards/yushakobo/quick17/rules.mk
MakotoKurauchi Sep 15, 2021
43abcc2
Update keyboards/yushakobo/quick17/readme.md
MakotoKurauchi Sep 15, 2021
f565da2
Update keyboards/yushakobo/quick17/info.json
MakotoKurauchi Sep 15, 2021
094226f
Update keyboards/yushakobo/quick17/rules.mk
MakotoKurauchi Sep 17, 2021
205fbd3
add license header
MakotoKurauchi Sep 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions keyboards/yushakobo/quick17/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
/*
Copyright 2021 yushakobo
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/>.
*/

#pragma once

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x3265
#define PRODUCT_ID 0x0006
#define DEVICE_VER 0x0001
#define MANUFACTURER yushakobo
#define PRODUCT quick17

/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 6

/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { F4, B3, B6 }
#define MATRIX_COL_PINS { F5, D4, E6, F7, C6, D7 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW

/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
//#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6

//#define BACKLIGHT_PIN B7
//#define BACKLIGHT_LEVELS 3
//#define BACKLIGHT_BREATHING

#define RGB_DI_PIN D2
#define RGBLED_NUM 18

#ifdef RGB_MATRIX_ENABLE
# define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
// HSV_TEAL
// #define RGB_MATRIX_STARTUP_HUE 128
// #define RGB_MATRIX_STARTUP_SAT 255
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
# define RGB_MATRIX_HUE_STEP 8
# define RGB_MATRIX_SAT_STEP 8
# define RGB_MATRIX_VAL_STEP 8
# define RGB_MATRIX_SPD_STEP 10
#endif




#ifdef RGBLIGHT_ENABLE
# define RGBLIGHT_LED_MAP {\
6, 7, 12, 13, 14, 15,\
16, 17, 11, 10, 9, 8,\
0, 1, 2, 3, 4, 5\
}
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 8
# define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level */
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
//# define RGBLIGHT_ANIMATIONS
/*== or choose 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
/*== customize breathing effect ==*/
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
/*==== use exp() and sin() ====*/
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255

#define RGBLIGHT_LAYERS
#define RGBLIGHT_MAX_LAYERS 8

#endif

#ifdef ENCODER_ENABLE
#define ENCODERS_PAD_A { B4 }
#define ENCODERS_PAD_B { B5 }
#endif

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST


/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
14 changes: 14 additions & 0 deletions keyboards/yushakobo/quick17/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"keyboard_name": "quick17",
"url": "https://shop.yushakobo.jp/products/quick17",
"maintainer": "yushakobo",
"layouts": {
"LAYOUT": {
"layout": [
{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0},
{"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1},
{"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}
]
}
}
}
113 changes: 113 additions & 0 deletions keyboards/yushakobo/quick17/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
/* Copyright 2021 yushakobo
*
* 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

// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
KC_LANG
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_CONTROL] = LAYOUT(
KC_TAB, KC_PGUP,KC_UP, KC_PGDN,KC_HOME,KC_INS,
KC_LCTL,KC_LEFT,KC_DOWN,KC_RGHT,KC_END, KC_DEL,
KC_LSFT,KC_LGUI,KC_ESC, KC_LALT,LT(3,KC_SPC),TO(1)
),
[_EDIT1] = LAYOUT(
KC_ESC, KC_W, KC_E, KC_R, KC_Y, KC_BSPC,
KC_LCTL,KC_A, KC_D, KC_F, KC_H, LCTL(KC_Z),
KC_LSFT,KC_X, KC_V, KC_B, LT(2,KC_SPC),LCTL(KC_S)
),
[_EDIT2] = LAYOUT(
KC_ESC, KC_Q, KC_BTN3,KC_INS, KC_ENT, KC_DEL,
KC_LCTL,KC_LBRC,KC_RBRC,KC_PGDN,KC_PGUP,LCTL(KC_Y),
KC_LSFT,TO(3), RGB_TOG,TO(0), _______,KC_NO
),
[_FN] = LAYOUT(
KC_ESC, KC_LANG,KC_NO, RGB_TOG,KC_MNXT,KC_VOLU,
KC_CAPS,KC_NLCK,KC_NO, RGB_MOD,KC_MPRV,KC_VOLD,
CG_NORM,LCG_SWP,EEP_RST,RESET, TO(0), KC_MUTE
)
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_LANG:
if (record->event.pressed){
if (keymap_config.swap_lctl_lgui == false){
tap_code16(LALT(KC_GRV));
} else {
if(input_mode()){
register_code(KC_LANG2);
set_input_mode(false);
} else {
register_code(KC_LANG1);
set_input_mode(true);
}
}
} else {
unregister_code(KC_LANG1);
unregister_code(KC_LANG2);
}
break;
default:
break;
}
return true;
}

bool encoder_update_user(uint8_t index, bool clockwise){
if (index == 0) {
if (IS_LAYER_ON(_EDIT2)){
if (clockwise) {
tap_code(KC_LBRC);
} else {
tap_code(KC_RBRC);
}
} else if (IS_LAYER_ON(_EDIT1)){
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
} else if (IS_LAYER_ON(_FN)){
if (clockwise) {
tap_code(KC_MNXT);
} else {
tap_code(KC_MPRV);
}
} else { // IS_LAYER_ON(_CONTROL)
if (clockwise) {
tap_code(KC_WH_U);
} else {
tap_code(KC_WH_D);
}
}
}
return false;
}

#ifdef RGB_MATRIX_ENABLE
void keyboard_post_init_user(void){
rgb_matrix_mode(RGB_MATRIX_CUSTOM_quick17_rgbm_effect);
set_input_mode(false);
}
#else
void keyboard_post_init_user(void){
rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
set_input_mode(false);
}
#endif
64 changes: 64 additions & 0 deletions keyboards/yushakobo/quick17/keymaps/default/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# The default keymap for quick17

## CONTROL(default) Layer
```
,-----------------------------------------------.
| Tab | PgUp | Up | PgDn | Home | Ins |
|-------+-------+-------+-------+-------+-------|
| Ctrl | Left | Down | Right | End | Del |
|-------+-------+-------+-------+-------+-------|
| Shift | GUI | Esc | Alt | FN/Spc| EDIT1 |
`-----------------------------------------------'
```

## EDIT1 Layer
```
,--------------------------------------------------.
| Esc | W | E | R | Y | Bspc |
|-------+-------+-------+-------+---------+--------|
| Ctrl | A | D | F | H | Ctrl+Z |
|-------+-------+-------+-------+---------+--------|
| Shift | X | V | B |EDIT2/Spc| Ctrl+S |
`--------------------------------------------------'
```

## EDIT2 Layer
```
,-------------------------------------------------.
| Esc | Q | BTN3 | Ins | Enter | Bspc |
|-------+-------+-------+-------+--------+--------|
| Ctrl | [ | ] | PgDn | PgUp | Ctrl+Z |
|-------+-------+-------+-------+--------+--------|
| Shift | FN |RGB_TOG|CONTROL| (NONE) | (NONE) |
`-------------------------------------------------'
```

## FN Layer
```
,---------------------------------------------------.
| Esc | LANG | (NONE) |RGB_TOG| Media > | Vol+ |
|-------+-------+--------+-------+---------+--------|
| Caps | Numlk | (NONE) |RGB_MOD| Media < | Vol- |
|-------+-------+--------+-------+---------+--------|
| Win | mac | EEP_RST| RESET | CONTROL | Mute |
`---------------------------------------------------'
```
### difference between mac-Mode and Win-Mode
- In mac Mode, `Ctrl` key will be changed into `command` key.
- `LANG` key will change its behaviour.

### "LANG" key behaviour

|LED-sign|Blue|Red|Green|
|---|---|---|---|
|mac Mode|-|かな|英数|
|Win Mode|半角/全角(Alt+`)|-|-|

## Rotary encoder behaviour

|On layer...|Clockwise|C-Clockwise|
|---|---|---|
|CONTROL|Scroll Up|Scroll Down|
|EDIT1|Vol+|Vol-|
|EDIT2|[|]|
|FN|Media >|Media <|
Loading