-
-
Notifications
You must be signed in to change notification settings - Fork 40.2k
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
Update and add bioi keyboards #20485
Conversation
Update master repo
Update master from QMK master
Update to the latest
Update master
Merged with QMK master repo
Update branch master
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are quite a lot of issues, a lot of which are covered by the PR checklist.
Given this, you should probably submit keyboards as individual PRs, one after another.
17b268a
to
20533ee
Compare
20533ee
to
8fe00f0
Compare
Hi, Thank you for the reminding, I have go through the checklist and updated some codes according to my knowledge. Most of the keyboard in this PR is relied on the updated |
@zvecr just a gentle reminder on this. would love to see the included keyboards in this merged to QMK. thanks dude! |
166 files ... is a lot. Also, #20897 changes this code as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And same can/should be applied to all of the rest of the boards. But ideally, it should be split into separate PRs, so that it's easier to review, rather than a single, massive PR.
|
||
#define KEYBOARD_LOCK_ENABLE | ||
#define MAGIC_KEY_LOCK L | ||
#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the default option.
#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) |
#define MATRIX_ROW_PINS { D4, B3 } | ||
#define MATRIX_COL_PINS { D0, D1, D5, B0, B2, D6 } | ||
|
||
#define DIODE_DIRECTION COL2ROW |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be moved to info.json.
#define RGBLIGHT_LIMIT_VAL 127 | ||
|
||
#define RGB_MATRIX_KEYRELEASES | ||
#define RGB_DI_PIN B7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#define RGB_DI_PIN B7 | |
#define WS2812_DI_PIN B7 | |
#define RGB_DI_PIN WS2812_DI_PIN |
#include "print.h" | ||
#include "../../../ble.h" | ||
#include "quantum.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be required in the keymap.c.
#include "print.h" | |
#include "../../../ble.h" | |
#include "quantum.h" |
MCU = atmega32u4 | ||
F_CPU = 8000000 | ||
ARCH = AVR8 | ||
F_USB = $(F_CPU) | ||
BOOTLOADER = qmk-dfu | ||
BOOTLOADER_SIZE = 4096 | ||
|
||
|
||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be removed. Just the processor and bootloader need to be specified, and in the info.json file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the design is using ATmega32u4 under [email protected], I can't find any document that instructing me how to define that in a info.json, and some design using a custom built qmk-dfu bootloader with a size of 8192, I think I should keep some definition here.
# Build Options | ||
BOOTMAGIC_ENABLE = no | ||
MOUSEKEY_ENABLE = no | ||
EXTRAKEY_ENABLE = yes | ||
CONSOLE_ENABLE = no | ||
COMMAND_ENABLE = yes | ||
NKRO_ENABLE = no | ||
BACKLIGHT_ENABLE = no | ||
AUDIO_ENABLE = no | ||
UNICODE_ENABLE = no | ||
BLUETOOTH_ENABLE = no | ||
RGB_MATRIX_ENABLE = yes | ||
RGB_MATRIX_DRIVER = WS2812 | ||
SLEEP_LED_ENABLE = no | ||
LTO_ENABLE = yes | ||
VIA_ENABLE = yes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of this should be moved to the info.json.
Also, via should not be enabled at the kb level, and needs to be enabled only at the keymap level.
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
switch (keycode) { | ||
case KC_F13: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no need for custom keycodes here, for the rgb matrix control.
case KC_F21: | ||
if (record->event.pressed) { | ||
module_reset(); | ||
} else { | ||
} | ||
break; | ||
case KC_F19: | ||
if (record->event.pressed) { | ||
reset_ble_batt(); | ||
|
||
} else { | ||
} | ||
break; | ||
case KC_F20: | ||
if (record->event.pressed) { | ||
update_ble_batt(); | ||
wait_ms(100); | ||
|
||
} else { | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should be custom keycodes, NOT using existing keycodes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file can be removed, and should be moved to info.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How could I get VIA support if che keyboard.h is removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And... may I ask why we should remove this file, which have a matrix macro that can be easily read, and check with keyboard matrix schematic, matrix in a JSON is quite unreadable for hardware designer and difficult to check with schematic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How could I get VIA support if che keyboard.h is removed?
The existence of this file is unrelated to the existence of a via
keymap folder. You may examine any keyboard in this repository with a via
keymap (example) for a better understanding of how this works.
may I ask why we should remove this file
As noted in the PR checklist:
layout
definitions must include matrix positions, so thatLAYOUT
macros can be generated at build time
Much code is now being automatically generated at build time from static data. Validation is also being added so incorrect/broken configurations can be found earlier. Parsing C to accomplish this task is much more involved than parsing JSON.
qmk info -f json -kb keyboardname
can help with the conversion, but do check other keyboards such as the one linked above to remove redundant attributes.
For a visual representation of the keyboard, run qmk info -m -kb keyboardname
, qmk info -l -kb keyboardname
, and/or upload the info.json
file to QMK Configurator.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for the instruction, it's really helpful!
Thank you for your contribution! |
Thank you for your contribution! |
Description
Types of Changes
Issues Fixed or Closed by This PR
Checklist