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

add doio/kb03 #24815

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

add doio/kb03 #24815

wants to merge 2 commits into from

Conversation

clownfish-og
Copy link

@clownfish-og clownfish-og commented Jan 14, 2025

Description

add QMK support for the DOIO KB03-01 dual layer knob megalodon pad

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Sorry, something went wrong.

@clownfish-og
Copy link
Author

thanks for the review drashna

@clownfish-og clownfish-og requested a review from drashna January 15, 2025 20:30
…b03.c

Co-authored-by: Drashna Jaelre <drashna@live.com>
@clownfish-og
Copy link
Author

oh, force pushed a new commit message for clarity and wasn't thinking about the CI run sorry to take your resources guys

@drashna drashna requested a review from a team January 16, 2025 18:19
Copy link
Author

@clownfish-og clownfish-og left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@drashna I had a few thoughts after staring at this some more, see change requests.
Also, I was wondering if I should commit my latest revision to enable PWM for the RGB or just leave it as bitbang? I have been using the PWM on it for 10 days now with no signs of issues.
I was also curious if it would be acceptable to include 4 layers for the default keymap as there are so few keys.

"animation": "dual_beacon"
},
"driver": "ws2812",
"hue_step": 16,
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feels like unnecessary customization

Suggested change
"hue_step": 16,

Comment on lines +62 to +64
"default": {
"animation": "dual_beacon"
},
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

feels like unnecessary customization

Suggested change
"default": {
"animation": "dual_beacon"
},

// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

name layers in enum

Suggested change
enum my_layers {
_BASE,
_LAYER1
};

Comment on lines +8 to +12
[0] = LAYOUT(
TO(1), KC_1, KC_2, KC_3, KC_MUTE
),
[1] = LAYOUT(
TO(0), RM_VALD, RM_NEXT, RM_VALU, RM_TOGG
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

layer names

Suggested change
[0] = LAYOUT(
TO(1), KC_1, KC_2, KC_3, KC_MUTE
),
[1] = LAYOUT(
TO(0), RM_VALD, RM_NEXT, RM_VALU, RM_TOGG
[_BASE] = LAYOUT(
TO(_LAYER1), KC_1, KC_2, KC_3, KC_MUTE
),
[_LAYER1] = LAYOUT(
TO(_BASE), RM_VALD, RM_NEXT, RM_VALU, RM_TOGG

Comment on lines +18 to +19
[0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RM_SATD, RM_SATU), ENCODER_CCW_CW(RM_HUED, RM_HUEU) }
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

layer names

Suggested change
[0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RM_SATD, RM_SATU), ENCODER_CCW_CW(RM_HUED, RM_HUEU) }
[_BASE] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LAYER1] = { ENCODER_CCW_CW(RM_SATD, RM_SATU), ENCODER_CCW_CW(RM_HUED, RM_HUEU) }

@clownfish-og
Copy link
Author

A little backstory:
I ported this from scratch with a bit of help from the existing DOIO firmwares in the repository.
I bought this macropad in July 2024 and the firmware was not available from anywhere that I was able to find. What I did find was a lot of people seemed to be looking for the same thing, as the stock firmware was very old and forced you to use VIA 1.3.1 to configure. I identified the hardware and components, traced the matrix, and through some trial and error was able to fine-tune the rest of the configuration to match the original as closely as I could.
I initially posted my QMK port of the board to the community in the keebmonkey discord server in August 2024. This is where DOIO says to contact support, although any official support there seems non-existent. Several members have been using it since then and none have come to me with problems.
In the end I plan to attempt to get this merged into VIA and Vial as many of the other DOIO already are, allowing users a clear way to upgrade as this hardware is still actively listed from several vendors

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants