From 1cb7eb1740f538568f176e58e9c7df9fd1884688 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 20:44:41 +0900 Subject: [PATCH 01/15] create new keyboards config --- keyboards/seekbar_control_keyboard/config.h | 20 ++++++++ keyboards/seekbar_control_keyboard/info.json | 48 +++++++++++++++++++ .../keymaps/default/keymap.c | 24 ++++++++++ keyboards/seekbar_control_keyboard/readme.md | 27 +++++++++++ keyboards/seekbar_control_keyboard/rules.mk | 1 + 5 files changed, 120 insertions(+) create mode 100644 keyboards/seekbar_control_keyboard/config.h create mode 100644 keyboards/seekbar_control_keyboard/info.json create mode 100644 keyboards/seekbar_control_keyboard/keymaps/default/keymap.c create mode 100644 keyboards/seekbar_control_keyboard/readme.md create mode 100644 keyboards/seekbar_control_keyboard/rules.mk diff --git a/keyboards/seekbar_control_keyboard/config.h b/keyboards/seekbar_control_keyboard/config.h new file mode 100644 index 000000000000..2b6b719f2df7 --- /dev/null +++ b/keyboards/seekbar_control_keyboard/config.h @@ -0,0 +1,20 @@ +// Copyright 2024 sotarokashiuchi (@sotarokashiuchi) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/seekbar_control_keyboard/info.json b/keyboards/seekbar_control_keyboard/info.json new file mode 100644 index 000000000000..105fa1a6c853 --- /dev/null +++ b/keyboards/seekbar_control_keyboard/info.json @@ -0,0 +1,48 @@ +{ + "manufacturer": "sotarokashiuchi", + "keyboard_name": "seekbar_control_keyboard", + "maintainer": "sotarokashiuchi", + "bootloader": "caterina", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C2", "C2", "C2", "C2"], + "rows": ["D1", "D1", "D1", "D1"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c new file mode 100644 index 000000000000..53ae7925cd0f --- /dev/null +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┐ + * │ 7 │ 8 │ 9 │ / │ + * ├───┼───┼───┼───┤ + * │ 4 │ 5 │ 6 │ * │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │ - │ + * ├───┼───┼───┼───┤ + * │ 0 │ . │Ent│ + │ + * └───┴───┴───┴───┘ + */ + [0] = LAYOUT_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PSLS, + KC_P4, KC_P5, KC_P6, KC_PAST, + KC_P1, KC_P2, KC_P3, KC_PMNS, + KC_P0, KC_PDOT, KC_PENT, KC_PPLS + ) +}; diff --git a/keyboards/seekbar_control_keyboard/readme.md b/keyboards/seekbar_control_keyboard/readme.md new file mode 100644 index 000000000000..858001fcfc7f --- /dev/null +++ b/keyboards/seekbar_control_keyboard/readme.md @@ -0,0 +1,27 @@ +# seekbar_control_keyboard + +![seekbar_control_keyboard](imgur.com image replace me!) + +*A short description of the keyboard/project* + +* Keyboard Maintainer: [sotarokashiuchi](https://github.com/sotarokashiuchi) +* Hardware Supported: *The PCBs, controllers supported* +* Hardware Availability: *Links to where you can find this hardware* + +Make example for this keyboard (after setting up your build environment): + + make seekbar_control_keyboard:default + +Flashing example for this keyboard: + + make seekbar_control_keyboard:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/seekbar_control_keyboard/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 48d87e35f4e3921e5e24bf0bf2da715d9af56364 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 20:55:41 +0900 Subject: [PATCH 02/15] create info.json --- keyboards/seekbar_control_keyboard/info.json | 30 +++++++------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/info.json b/keyboards/seekbar_control_keyboard/info.json index 105fa1a6c853..8d3876e42f4a 100644 --- a/keyboards/seekbar_control_keyboard/info.json +++ b/keyboards/seekbar_control_keyboard/info.json @@ -13,8 +13,8 @@ "nkro": true }, "matrix_pins": { - "cols": ["C2", "C2", "C2", "C2"], - "rows": ["D1", "D1", "D1", "D1"] + "cols": ["F4", "F5", "F6"], + "rows": ["D4", "C6"] }, "processor": "atmega32u4", "url": "", @@ -24,25 +24,15 @@ "vid": "0xFEED" }, "layouts": { - "LAYOUT_ortho_4x4": { + "LAYOUT_ortho_3x2": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "y": 0}, - {"matrix": [0, 2], "x": 2, "y": 0}, - {"matrix": [0, 3], "x": 3, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3} + {"matrix": [0, 0], "label": "A", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "B", "x": 1, "y": 0}, + {"matrix": [0, 2], "label": "C", "x": 2, "y": 0}, + {"matrix": [1, 0], "label": "D", "x": 0, "y": 1}, + {"matrix": [1, 1], "label": "E", "x": 1, "y": 1}, + {"matrix": [1, 2], "label": "F", "x": 2, "y": 1} ] } } -} \ No newline at end of file +} From 05338e6f7188ca77bdde624c4bb880c0076e0aeb Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 21:06:10 +0900 Subject: [PATCH 03/15] create keymap.c --- .../keymaps/default/keymap.c | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index 53ae7925cd0f..601b73da333f 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -5,20 +5,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* - * ┌───┬───┬───┬───┐ - * │ 7 │ 8 │ 9 │ / │ - * ├───┼───┼───┼───┤ - * │ 4 │ 5 │ 6 │ * │ - * ├───┼───┼───┼───┤ - * │ 1 │ 2 │ 3 │ - │ - * ├───┼───┼───┼───┤ - * │ 0 │ . │Ent│ + │ - * └───┴───┴───┴───┘ + * ┌───┬───┬───┐ + * │ A │ B │ C │ + * ├───┼───┼───┤ + * │ D │ E │ F │ + * └───┴───┴───┘ */ - [0] = LAYOUT_ortho_4x4( - KC_P7, KC_P8, KC_P9, KC_PSLS, - KC_P4, KC_P5, KC_P6, KC_PAST, - KC_P1, KC_P2, KC_P3, KC_PMNS, - KC_P0, KC_PDOT, KC_PENT, KC_PPLS + [0] = LAYOUT_ortho_3x2( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F ) }; From 779dc152f3da1ce035fa7acf78ffc05f70c444c4 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 21:21:16 +0900 Subject: [PATCH 04/15] stop skip next --- keyboards/seekbar_control_keyboard/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index 601b73da333f..41fbd8af8633 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┴───┴───┘ */ [0] = LAYOUT_ortho_3x2( - KC_A, KC_B, KC_C, - KC_D, KC_E, KC_F + KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, + KC_D, KC_MEDIA_REWIND, KC_MEDIA_FAST_FORWARD ) }; From 35e58eb86f58ecaa0fae2121e418e038be40a5dc Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 21:56:20 +0900 Subject: [PATCH 05/15] tap dance --- keyboards/seekbar_control_keyboard/config.h | 3 +++ .../keymaps/default/keymap.c | 16 ++++++++++++++-- keyboards/seekbar_control_keyboard/rules.mk | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/config.h b/keyboards/seekbar_control_keyboard/config.h index 2b6b719f2df7..5a9d597263db 100644 --- a/keyboards/seekbar_control_keyboard/config.h +++ b/keyboards/seekbar_control_keyboard/config.h @@ -8,6 +8,9 @@ * These options are also useful to firmware size reduction. */ +/* tap dance */ +#define TAPPING_TERM 175 + /* disable debug print */ //#define NO_DEBUG diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index 41fbd8af8633..a181aa2da0fe 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -3,6 +3,18 @@ #include QMK_KEYBOARD_H +// tap danceの宣言 +enum { + TD_FORWARD_NEXT, + TD_BACK_PREV, +}; + +// tap danceの定義 +tap_dance_action_t tap_dance_actions[] = { + [TD_FORWARD_NEXT] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_FAST_FORWARD, KC_MEDIA_NEXT_TRACK), + [TD_BACK_PREV] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_REWIND, KC_MEDIA_PREV_TRACK), +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * ┌───┬───┬───┐ @@ -12,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┴───┴───┘ */ [0] = LAYOUT_ortho_3x2( - KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, - KC_D, KC_MEDIA_REWIND, KC_MEDIA_FAST_FORWARD + TD(TD_BACK_PREV), KC_MEDIA_PLAY_PAUSE, TD(TD_FORWARD_NEXT), + KC_NO, KC_NO, KC_NO ) }; diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk index 6e7633bfe015..81870da60530 100644 --- a/keyboards/seekbar_control_keyboard/rules.mk +++ b/keyboards/seekbar_control_keyboard/rules.mk @@ -1 +1,2 @@ # This file intentionally left blank +TAP_DANCE_ENABLE = yes From 690311ffd31b5ebef642f8ca843644e8271069de Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 23:31:16 +0900 Subject: [PATCH 06/15] add encoder --- keyboards/seekbar_control_keyboard/config.h | 6 +++++- .../keymaps/default/keymap.c | 13 ++++++++++++- keyboards/seekbar_control_keyboard/rules.mk | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/config.h b/keyboards/seekbar_control_keyboard/config.h index 5a9d597263db..782987082b7a 100644 --- a/keyboards/seekbar_control_keyboard/config.h +++ b/keyboards/seekbar_control_keyboard/config.h @@ -9,7 +9,11 @@ */ /* tap dance */ -#define TAPPING_TERM 175 +#define TAPPING_TERM 275 + +/* encoders */ +#define ENCODERS_PAD_A { F7 } +#define ENCODERS_PAD_B { B1 } /* disable debug print */ //#define NO_DEBUG diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index a181aa2da0fe..d57b56df4b4a 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -25,6 +25,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [0] = LAYOUT_ortho_3x2( TD(TD_BACK_PREV), KC_MEDIA_PLAY_PAUSE, TD(TD_FORWARD_NEXT), - KC_NO, KC_NO, KC_NO + KC_NO, KC_NO, KC_SYSTEM_SLEEP ) }; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (index == 0) { /* First encoder */ + if (clockwise) { + tap_code(KC_AUDIO_VOL_UP); + } else { + tap_code(KC_AUDIO_VOL_DOWN); + } + } + return false; +} diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk index 81870da60530..a41ce0cbc66a 100644 --- a/keyboards/seekbar_control_keyboard/rules.mk +++ b/keyboards/seekbar_control_keyboard/rules.mk @@ -1,2 +1,3 @@ # This file intentionally left blank TAP_DANCE_ENABLE = yes +ENCODER_ENABLE = yes From 2372d4f3864c327f52543c1e35f882f0107935fb Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 12 Jan 2024 23:55:04 +0900 Subject: [PATCH 07/15] add layer --- .../keymaps/default/keymap.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index d57b56df4b4a..88fd2493eeec 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -9,6 +9,11 @@ enum { TD_BACK_PREV, }; +enum layer { + LAY_BASIC = 0, + LAY_FN, +}; + // tap danceの定義 tap_dance_action_t tap_dance_actions[] = { [TD_FORWARD_NEXT] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_FAST_FORWARD, KC_MEDIA_NEXT_TRACK), @@ -23,9 +28,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ D │ E │ F │ * └───┴───┴───┘ */ - [0] = LAYOUT_ortho_3x2( + [LAY_BASIC] = LAYOUT_ortho_3x2( TD(TD_BACK_PREV), KC_MEDIA_PLAY_PAUSE, TD(TD_FORWARD_NEXT), - KC_NO, KC_NO, KC_SYSTEM_SLEEP + KC_NO, MO(LAY_FN), KC_SYSTEM_SLEEP + ), + [LAY_FN] = LAYOUT_ortho_3x2( + KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO ) }; From c725845e9142b5111322c86bc4ca00dc970754ce Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Sat, 5 Oct 2024 15:37:40 +0900 Subject: [PATCH 08/15] add led --- keyboards/seekbar_control_keyboard/config.h | 5 +++++ keyboards/seekbar_control_keyboard/rules.mk | 1 + lib/chibios | 2 +- lib/chibios-contrib | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/config.h b/keyboards/seekbar_control_keyboard/config.h index 782987082b7a..18bd1437500c 100644 --- a/keyboards/seekbar_control_keyboard/config.h +++ b/keyboards/seekbar_control_keyboard/config.h @@ -15,6 +15,11 @@ #define ENCODERS_PAD_A { F7 } #define ENCODERS_PAD_B { B1 } +/* rgb-led */ +#define WS2812_DI_PIN D7 +#define RGBLIGHT_LED_COUNT 5 + + /* disable debug print */ //#define NO_DEBUG diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk index a41ce0cbc66a..24983a343516 100644 --- a/keyboards/seekbar_control_keyboard/rules.mk +++ b/keyboards/seekbar_control_keyboard/rules.mk @@ -1,3 +1,4 @@ # This file intentionally left blank TAP_DANCE_ENABLE = yes ENCODER_ENABLE = yes +RGBLIGHT_ENABLE = yes diff --git a/lib/chibios b/lib/chibios index be44b3305f9a..11edb1610980 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit be44b3305f9a9fe5f2f49a4e7b978db322dc463e +Subproject commit 11edb1610980f213b9f83161e1715a46fb7e4c51 diff --git a/lib/chibios-contrib b/lib/chibios-contrib index 77cb0a4f7589..da78eb3759b8 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit 77cb0a4f7589f89e724f5e6ecb1d76d514dd1212 +Subproject commit da78eb3759b8d1779b237657c7667baa4aa95ca1 From 51befd50e4533f02f001d3f981b1a480beb08354 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 11 Apr 2025 19:58:09 +0900 Subject: [PATCH 09/15] update submodule --- lib/chibios | 2 +- lib/chibios-contrib | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/chibios b/lib/chibios index 11edb1610980..2365f8442925 160000 --- a/lib/chibios +++ b/lib/chibios @@ -1 +1 @@ -Subproject commit 11edb1610980f213b9f83161e1715a46fb7e4c51 +Subproject commit 2365f844292513ea0ee9eea6ab778d56f9ccd3b9 diff --git a/lib/chibios-contrib b/lib/chibios-contrib index da78eb3759b8..3ac181e4ca5c 160000 --- a/lib/chibios-contrib +++ b/lib/chibios-contrib @@ -1 +1 @@ -Subproject commit da78eb3759b8d1779b237657c7667baa4aa95ca1 +Subproject commit 3ac181e4ca5cafddaf8b472baa1d09c2b24c77b6 From 21234367d0abc5ca2e169c42a6c32a3c4bb9aec1 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Fri, 11 Apr 2025 20:15:03 +0900 Subject: [PATCH 10/15] update qmk version --- keyboards/seekbar_control_keyboard/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/config.h b/keyboards/seekbar_control_keyboard/config.h index 18bd1437500c..55d3e7f86d1c 100644 --- a/keyboards/seekbar_control_keyboard/config.h +++ b/keyboards/seekbar_control_keyboard/config.h @@ -12,8 +12,8 @@ #define TAPPING_TERM 275 /* encoders */ -#define ENCODERS_PAD_A { F7 } -#define ENCODERS_PAD_B { B1 } +#define ENCODER_A_PINS { F7 } +#define ENCODER_B_PINS { B1 } /* rgb-led */ #define WS2812_DI_PIN D7 From fda3ccd9dc16e3eeb2f65f09cddf8f1e32e5fa8c Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Sat, 12 Apr 2025 06:51:39 +0900 Subject: [PATCH 11/15] change to encoder map --- .../{info.json => keyboard.json} | 6 +++--- .../keymaps/default/keymap.c | 19 +++++++------------ keyboards/seekbar_control_keyboard/rules.mk | 1 + 3 files changed, 11 insertions(+), 15 deletions(-) rename keyboards/seekbar_control_keyboard/{info.json => keyboard.json} (92%) diff --git a/keyboards/seekbar_control_keyboard/info.json b/keyboards/seekbar_control_keyboard/keyboard.json similarity index 92% rename from keyboards/seekbar_control_keyboard/info.json rename to keyboards/seekbar_control_keyboard/keyboard.json index 8d3876e42f4a..66eb2bb37388 100644 --- a/keyboards/seekbar_control_keyboard/info.json +++ b/keyboards/seekbar_control_keyboard/keyboard.json @@ -19,9 +19,9 @@ "processor": "atmega32u4", "url": "", "usb": { - "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" + "vid": "0x0125", + "pid": "0x0001", + "device_version": "0.0.1" }, "layouts": { "LAYOUT_ortho_3x2": { diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index 88fd2493eeec..3a9da048db4f 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -3,7 +3,6 @@ #include QMK_KEYBOARD_H -// tap danceの宣言 enum { TD_FORWARD_NEXT, TD_BACK_PREV, @@ -14,12 +13,18 @@ enum layer { LAY_FN, }; -// tap danceの定義 tap_dance_action_t tap_dance_actions[] = { [TD_FORWARD_NEXT] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_FAST_FORWARD, KC_MEDIA_NEXT_TRACK), [TD_BACK_PREV] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_REWIND, KC_MEDIA_PREV_TRACK), }; +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAY_BASIC] = { ENCODER_CCW_CW(KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP) }, + [LAY_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * ┌───┬───┬───┐ @@ -38,13 +43,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { /* First encoder */ - if (clockwise) { - tap_code(KC_AUDIO_VOL_UP); - } else { - tap_code(KC_AUDIO_VOL_DOWN); - } - } - return false; -} diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk index 24983a343516..264c7ba1ffef 100644 --- a/keyboards/seekbar_control_keyboard/rules.mk +++ b/keyboards/seekbar_control_keyboard/rules.mk @@ -1,4 +1,5 @@ # This file intentionally left blank TAP_DANCE_ENABLE = yes ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes RGBLIGHT_ENABLE = yes From 84828365d00722c9e7ad7924043feddcb94d4406 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Sun, 13 Apr 2025 07:28:37 +0900 Subject: [PATCH 12/15] update readme --- keyboards/seekbar_control_keyboard/readme.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/readme.md b/keyboards/seekbar_control_keyboard/readme.md index 858001fcfc7f..2f3b60e8cf5f 100644 --- a/keyboards/seekbar_control_keyboard/readme.md +++ b/keyboards/seekbar_control_keyboard/readme.md @@ -1,12 +1,12 @@ # seekbar_control_keyboard -![seekbar_control_keyboard](imgur.com image replace me!) +![seekbar_control_keyboard](https://github.com/sotarokashiuchi/SeekbarControlKeyboard/raw/main/_attachments/IMG_20240301_111544.jpg) -*A short description of the keyboard/project* +To control media key such as seekbar, volume, and so on. * Keyboard Maintainer: [sotarokashiuchi](https://github.com/sotarokashiuchi) -* Hardware Supported: *The PCBs, controllers supported* -* Hardware Availability: *Links to where you can find this hardware* +* Hardware Supported: [sotarokashiuchi](https://github.com/sotarokashiuchi) +* Hardware Availability: [repozitory](https://github.com/sotarokashiuchi/SeekbarControlKeyboard) Make example for this keyboard (after setting up your build environment): @@ -22,6 +22,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: -* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard -* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead -* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Bootmagic reset**: Hold down the key at the top left key and plug in the keyboard +* **Physical reset button**: Briefly press the button on the PCB \ No newline at end of file From e2ccf71d5a139bb22e61cdb34e622dc62e0038e8 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Sun, 13 Apr 2025 08:00:00 +0900 Subject: [PATCH 13/15] Move feature flags to keymap level for compliance with QMK lint rules --- keyboards/seekbar_control_keyboard/keymaps/default/rules.mk | 2 ++ keyboards/seekbar_control_keyboard/rules.mk | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 keyboards/seekbar_control_keyboard/keymaps/default/rules.mk diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk b/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk new file mode 100644 index 000000000000..6e5f42dfaa80 --- /dev/null +++ b/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +TAP_DANCE_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk index 264c7ba1ffef..bf0e55756c14 100644 --- a/keyboards/seekbar_control_keyboard/rules.mk +++ b/keyboards/seekbar_control_keyboard/rules.mk @@ -1,5 +1,3 @@ # This file intentionally left blank -TAP_DANCE_ENABLE = yes ENCODER_ENABLE = yes -ENCODER_MAP_ENABLE = yes RGBLIGHT_ENABLE = yes From 3374a329b026f0d8976d321c83957b0c5e91bef0 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Sun, 13 Apr 2025 19:20:10 +0900 Subject: [PATCH 14/15] delete config.h and rules.mk --- keyboards/seekbar_control_keyboard/config.h | 32 ------------------- .../seekbar_control_keyboard/keyboard.json | 21 +++++++++++- keyboards/seekbar_control_keyboard/rules.mk | 3 -- 3 files changed, 20 insertions(+), 36 deletions(-) delete mode 100644 keyboards/seekbar_control_keyboard/config.h delete mode 100644 keyboards/seekbar_control_keyboard/rules.mk diff --git a/keyboards/seekbar_control_keyboard/config.h b/keyboards/seekbar_control_keyboard/config.h deleted file mode 100644 index 55d3e7f86d1c..000000000000 --- a/keyboards/seekbar_control_keyboard/config.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2024 sotarokashiuchi (@sotarokashiuchi) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* tap dance */ -#define TAPPING_TERM 275 - -/* encoders */ -#define ENCODER_A_PINS { F7 } -#define ENCODER_B_PINS { B1 } - -/* rgb-led */ -#define WS2812_DI_PIN D7 -#define RGBLIGHT_LED_COUNT 5 - - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/seekbar_control_keyboard/keyboard.json b/keyboards/seekbar_control_keyboard/keyboard.json index 66eb2bb37388..d1a4e62f9455 100644 --- a/keyboards/seekbar_control_keyboard/keyboard.json +++ b/keyboards/seekbar_control_keyboard/keyboard.json @@ -10,7 +10,9 @@ "console": false, "extrakey": true, "mousekey": true, - "nkro": true + "nkro": true, + "encoder": true, + "rgblight": true }, "matrix_pins": { "cols": ["F4", "F5", "F6"], @@ -34,5 +36,22 @@ {"matrix": [1, 2], "label": "F", "x": 2, "y": 1} ] } + }, + "tapping": { + "term": 275 + }, + "encoder": { + "rotary": [ + { + "pin_a": "F7", + "pin_b": "B1" + } + ] + }, + "ws2812": { + "pin": "D7" + }, + "rgblight": { + "led_count": 5 } } diff --git a/keyboards/seekbar_control_keyboard/rules.mk b/keyboards/seekbar_control_keyboard/rules.mk deleted file mode 100644 index bf0e55756c14..000000000000 --- a/keyboards/seekbar_control_keyboard/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -# This file intentionally left blank -ENCODER_ENABLE = yes -RGBLIGHT_ENABLE = yes From ffbda2862ccea64d76d70c8e061353564c44ef76 Mon Sep 17 00:00:00 2001 From: Kashiuchi Sotaro Date: Sun, 13 Apr 2025 20:05:04 +0900 Subject: [PATCH 15/15] Apply suggested changes from code review --- .../seekbar_control_keyboard/keyboard.json | 10 +++----- .../keymaps/default/keymap.c | 25 +++---------------- .../keymaps/default/rules.mk | 2 +- keyboards/seekbar_control_keyboard/readme.md | 6 ++--- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/keyboards/seekbar_control_keyboard/keyboard.json b/keyboards/seekbar_control_keyboard/keyboard.json index d1a4e62f9455..b913d79d963a 100644 --- a/keyboards/seekbar_control_keyboard/keyboard.json +++ b/keyboards/seekbar_control_keyboard/keyboard.json @@ -2,12 +2,10 @@ "manufacturer": "sotarokashiuchi", "keyboard_name": "seekbar_control_keyboard", "maintainer": "sotarokashiuchi", - "bootloader": "caterina", + "development_board": "promicro", "diode_direction": "COL2ROW", "features": { "bootmagic": true, - "command": false, - "console": false, "extrakey": true, "mousekey": true, "nkro": true, @@ -18,15 +16,15 @@ "cols": ["F4", "F5", "F6"], "rows": ["D4", "C6"] }, - "processor": "atmega32u4", "url": "", "usb": { "vid": "0x0125", "pid": "0x0001", - "device_version": "0.0.1" + "device_version": "1.0.0" }, + "community_layouts": ["ortho_2x3"], "layouts": { - "LAYOUT_ortho_3x2": { + "LAYOUT_ortho_2x3": { "layout": [ {"matrix": [0, 0], "label": "A", "x": 0, "y": 0}, {"matrix": [0, 1], "label": "B", "x": 1, "y": 0}, diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c index 3a9da048db4f..21a5400016ef 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c +++ b/keyboards/seekbar_control_keyboard/keymaps/default/keymap.c @@ -8,11 +8,6 @@ enum { TD_BACK_PREV, }; -enum layer { - LAY_BASIC = 0, - LAY_FN, -}; - tap_dance_action_t tap_dance_actions[] = { [TD_FORWARD_NEXT] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_FAST_FORWARD, KC_MEDIA_NEXT_TRACK), [TD_BACK_PREV] = ACTION_TAP_DANCE_DOUBLE(KC_MEDIA_REWIND, KC_MEDIA_PREV_TRACK), @@ -20,26 +15,14 @@ tap_dance_action_t tap_dance_actions[] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [LAY_BASIC] = { ENCODER_CCW_CW(KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP) }, - [LAY_FN] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } }; #endif const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * ┌───┬───┬───┐ - * │ A │ B │ C │ - * ├───┼───┼───┤ - * │ D │ E │ F │ - * └───┴───┴───┘ - */ - [LAY_BASIC] = LAYOUT_ortho_3x2( - TD(TD_BACK_PREV), KC_MEDIA_PLAY_PAUSE, TD(TD_FORWARD_NEXT), - KC_NO, MO(LAY_FN), KC_SYSTEM_SLEEP - ), - [LAY_FN] = LAYOUT_ortho_3x2( - KC_NO, KC_NO, KC_NO, - KC_NO, KC_NO, KC_NO + [0] = LAYOUT_ortho_2x3( + TD(TD_BACK_PREV), KC_MPLY, TD(TD_FORWARD_NEXT), + KC_NO, KC_NO, KC_SLEP ) }; diff --git a/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk b/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk index 6e5f42dfaa80..03c04314b36c 100644 --- a/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk +++ b/keyboards/seekbar_control_keyboard/keymaps/default/rules.mk @@ -1,2 +1,2 @@ TAP_DANCE_ENABLE = yes -ENCODER_MAP_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/seekbar_control_keyboard/readme.md b/keyboards/seekbar_control_keyboard/readme.md index 2f3b60e8cf5f..a88dbfda61de 100644 --- a/keyboards/seekbar_control_keyboard/readme.md +++ b/keyboards/seekbar_control_keyboard/readme.md @@ -1,12 +1,12 @@ # seekbar_control_keyboard -![seekbar_control_keyboard](https://github.com/sotarokashiuchi/SeekbarControlKeyboard/raw/main/_attachments/IMG_20240301_111544.jpg) +![seekbar_control_keyboard](https://i.imgur.com/zyNPMnQ.jpg) To control media key such as seekbar, volume, and so on. * Keyboard Maintainer: [sotarokashiuchi](https://github.com/sotarokashiuchi) -* Hardware Supported: [sotarokashiuchi](https://github.com/sotarokashiuchi) -* Hardware Availability: [repozitory](https://github.com/sotarokashiuchi/SeekbarControlKeyboard) +* Hardware Supported: Pro Micro compatible development board +* Hardware Availability: [GitHub repository](https://github.com/sotarokashiuchi/SeekbarControlKeyboard) Make example for this keyboard (after setting up your build environment):