* Add support for RISC-V builds and GD32VF103 MCU
* Add toolchain selection in chibios.mk based on the mcu selected in
mcu_selection.mk
* Reorder and added comments to chibios.mk to have a streamlined makefile
* Add GD32VF103 mcu to possible targets for QMK.
* Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent
then rewriting every driver.
* Add GigaDevice DFU bootloader as flash target, please note that
dfu-util of at least version 0.10 is needed.
* Add analog driver compatibility
* Add apa102 bitbang driver compatibility
* Add ws2812 bitbang driver compatibility
* Add eeprom in flash emulation compatibility
* Allow faster re-builds with ccache
* Add SiPeed Longan Nano to platform files
* Add SiPeed Longan Nano Onekeys
* Make quine compatible with other bootloaders
* Support builds with picolibc
* Add risc-v toolchain to arch and debian/ubuntu scripts
The old custom matrix code for Preonic rev3 was relying on the
`matrix_col_t` type, because the code actually reads the row pins and
assembles the state for whole columns, and then transposes the matrix in
the custom debouncing code. Restore that type (which is no longer
defined by the core QMK code) to make the custom matrix code work
properly (when `matrix_row_t` was used instead of `matrix_col_t`, the
state of two electrical rows was lost, and those electrical rows
corresponded to the bottom physical row, which did not work).
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Peter Park <peter@Peters-MacBook-Air.local>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ash <ash@splitpixel.co.uk>
* Fix issues with user split transport code
* Improve OLED (More font stuff, improved keylogger, etc)
* Add `KEYLOCK` macro to disable USB, borrowed from command feature.
* Convert Kyria fully to proton C (no more AVR kyria)
* Add Work Louder Work Board keymap
Apparently the default keymaps for `contra` and `fractal` were derived
from some `planck` keymap which contained code to control the status LED
in the implementation of the `BACKLIT` custom keycode. Unfortunately,
the code to control the LED manipulated the `E6` pin directly, and it
was copied without changes, but the `contra` and `fractal` boards use
the `E6` pin in the matrix, therefore pressing the key mapped to
`BACKLIT` resulted in phantom keypresses for all keys in the
corresponding column.
* refactor keymaps for readability
- use QMK-native keycode aliases
- physically align keycodes
* rework layout macro
A discrepancy between the default and via keymaps prompted a deep dive into the keyboard's switch matrix, which led to the discovery that (1) the layout macro's arguments were not arranged physically, and (2) the keymaps didn't assign the keycodes to the same switches (the default keymap's keycodes were in the wrong sequence).
Additionally, the layout macro was built to support a split Backspace, but named as if it were for a 2u Backspace, which broke the enabled support for Community Layout keymaps.
This commit:
- arranges the layout macro arguments according to physical order
- corrects the keymaps
- renames the layout macro to specify the split Backspace
- disables Community Layout support
- updates the `info.json` data
* add LAYOUT_65_ansi_blocker
* enable Community Layout support
* update `info.json` metadata
- use full product listing URL
- use GitHub username for maintainer field
* update readme
- fix vendor link in lead paragraph
- update metadata list
- use GitHub username of keyboard maintainer
- correct Supported Hardware
- add Hardware Availability link
- add flashing and bootloader instructions
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Wolf Van Herreweghe <wolfvh@getupgamesofficial.com>
The custom OLED_OFF mode implemented on satisfaction75 is incompatible
with the OLED_TIMEOUT feature (the OLED_TIMEOUT code assumes that any
key or encoder action should turn the OLED display on, and does not
provide any way to disable that behavior). To keep the OLED_OFF mode
functioning as before while still having a working OLED idle timeout, a
custom implementation of the OLED idle timeout code is added.
* stash
* refactor old draw
* refactor old draw - tidy
* refactor old draw - tidy
* refactor old draw - reorder for diffs
* refactor old draw - reorder for diffs
* add matrix diagram to keyboard header file
* friendly-format info.json
* correct layout data
* add legends to info.json key labels
* add LAYOUT_split_space_split_bs
Rename the `LAYOUT` tree in info.json to `LAYOUT_split_space_split_bs`, and add a corresponding layout macro.
* add LAYOUT_all data to info.json
* add LAYOUT_7u_space
* add LAYOUT_7u_space_split_bs
* add LAYOUT_split_space
* convert tabs to spaces in dyz40.h
* Remove SERIAL_LINK
* more stale paths in doxygen-todo
* Fix
* More refs
* Update testing docs
* Update doxygen-todo
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Updated Keychron Q1 user keymap
- Added Caps Lock indicator
- Mission Control and Launchpad custom keycodes are now defined using the VIA user keycodes range so they can be labeled properly in VIA
* Only use VIA keycode range if VIA is enabled
* Reformatted led_indexes enum to match layout
* Feature: When the Fn layer is active, RGB lighting turns off for keys that are not assigned
* Fixes
* Cleanup: Updated method signature of rgb_matrix_set_color_by_keycode to more closely match rgb_matrix_set_color
* Fixed int sizing for keycodes
* add Configurator data
* rename README.md to lowercase
API can't find this file unless the filename is lowercase (`readme.md`).
* readme touch-up
Correct typos and improve some grammar and Markdown.
* correct Configurator layout data
* rename LAYOUT to LAYOUT_60_ansi
* correct info.json maintainer field
Use the maintainer's GitHub username.
* correct the compiling/flashing instructions
Keyboard value is relative to `qmk_firmware/keyboards/`.
* Specify hex as the default FIRMWARE_FORMAT which is copied to qmk_firmware root folder
* Specify hex as the default FIRMWARE_FORMAT which is copied to qmk_firmware root folder
Co-authored-by: sadkins <sadkins@iMac-Pro.local>
* use XXX for KC_NO in hex4b.h
* add matrix diagram to hex4b.h
* rename LAYOUT to LAYOUT_all
* remove reference to KBFirmware JSON Parser
* info.json: add line breaks between rows
* rename LAYOUT_all to LAYOUT_split_bs
- LAYOUT alias for backward compatibility
- LAYOUT_all alias to signify support for every matrix position
* add LAYOUT_2u_bs
* add LAYOUT_tsangan_split_bs
* add LAYOUT_tsangan_2u_bs
* info.json: remove meta key
* use XXX for KC_NO in rev1.h
* add matrix diagram to rev1.h
* remove reference to KBFirmware JSON Parser from rev1.h
* use XXX for KC_NO in rev2.h
* add matrix diagram to rev2.h
* add LAYOUT_60_ansi and LAYOUT_60_iso
* enable Community Layout support
* update info.json metadata
- specify keyboard revision in keyboard_name
- use GitHub username in maintainer field
* remove reference to KBFirmware JSON Parser from main rules.mk
* add LAYOUT_numpad_6x4
* tidy-up info.json data
* use GitHub account name for maintainer field
* remove meta key
* add matrix diagram to delphine.h
* update Community Layout support
* add layout variants with 2.75u Right Shift
* move layout alias to info.json
* match info.json labels to matrix positions
Edits the label keys in info.json to match the matrix position identifiers in adelais.h.
* info.json: add line breaks between keyboard rows
* info.json: use GitHub username in maintainer field
* Initial compatibility with bm80
* move files to kprepublic directory, see #12159
* fix pin assignment
* Revert "fix pin assignment"
This reverts commit 5a53a74953a23bb5064c11d5d9e6daf007a54872.
* add testing setup (peepeetee keymap, will use for personal purposes later), fix LED assignment, add indicator LED, LED location, count, and flags are broken
* fixed flags( not sure, please check)
* fixed number of LEDs
* add comment about f11
* remove comment about f11, change capslock flag to be 1 rather than 1+8 as there is a standalone indicator LED
* readme.md
* add via keymap
* add info.json with help from noroadsleft's converter
* add suspended state implementation, I don't think it's working
* update to my testing setup
* restore erroneously included bm68rgb config
* Update keyboards/kprepublic/bm80/config.h
Co-authored-by: Drashna Jaelre <drashna@live.com>
* add reset instructions
* change reset instruction grammar
* remove not working sleep function, add comment for RGB flags
* add LED mapping comments
* change readme grammar
* replace rgb light paremeters with rgb matrix paremeters, enable framebuffer effects
* re-enable peepeetee/config.h, updating my disabled effect list
* updating my disabled effect list
* update LED struct documentation
* update readme with RGB matrix effect information
* Update keyboards/kprepublic/bm80/rules.mk
Co-authored-by: Drashna Jaelre <drashna@live.com>
* move files back to keyboard from keyboard/kprepublic, see 85b33d6 and qmk#12159
* Apply suggestions from code review
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
* cleanup peepeetee keymap
* update peepeetee keymap; rebase on current master
* moved to /kprepublic, see #12159
* Apply suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Genesis Hotswap: rename LAYOUT to LAYOUT_tkl_ansi
* Genesis Hotswap: delete blank layers from default keymap
Results in a smaller compiled firmware size.
* Genesis Hotswap: tidy-up via keymap
Fixes the visual alignment of keycodes.
* Genesis Hotswap: specify Hotswap in info.json
* Genesis Hotswap: enable Community Layout support
* Genesis Hotswap: remove KBFirmware Parser references
* Genesis Hotswap: specify Hotswap in config.h
* Genesis Solder: correct keyboard layout
* Genesis Solder: rename LAYOUT to LAYOUT_all
I don't actually know with certainty that this *is* LAYOUT_all, but in the absence of more concrete information, I'm going with this.
* Genesis Solder: delete blank layers from default keymap
Results in a smaller compiled firmware size.
* Genesis Solder: tidy-up via keymap
Fixes the visual alignment of keycodes.
* Genesis Solder: specify Hotswap in info.json
* Genesis Solder: add LAYOUT_tkl_ansi
* Genesis Solder: enable Community Layout support
* Genesis Solder: remove KBFirmware Parser references
* Genesis Solder: specify Solder in config.h
* clean up amj96.h
- use #pragma once include guard
- remove extra comments
- update matrix position alignment (easier readability)
* info.json: apply human-friendly formatting
* rename LAYOUT to LAYOUT_all
* clean up rules.mk
Align to QMK's AVR template.
* clean up default keymap
- use four-space indent
- add RESET keycode (Fn+R)
- remove unnecessary functions
* clean up config.h
- use #pragma once include guard
- move lighting settings to the middle of the file (QMK template conformance)
- remove Magic and MIDI configuration blocks
* update readme.md file
- update keyboard info list
- add flashing instructions
- update Docs links
- remove trailing spaces
* remove "empty" config.h and readme.md from default keymap
* mammoth20x: edit size of RightEncode key in Configurator
* physically arrange layout macro
Arranges the keycodes to resemble the assembled board.
* rename LAYOUT_default to LAYOUT
Includes "layout_aliases" tree in info.json for backwards compatibility.
* rules.mk touch-up
* convert tabs to spaces
* add line break before ENCODER_ENABLE (not included in QMK's template)
* readme.md touch-up
* remove zero-width space characters
* markdown fix for info paragraph
* update link text
* clean up keyboard header files
* use #pragma once include guard
* convert tabs to spaces
* remove redundant #include statements
* update revision references to main header (`../meira.h` -> `meira.h`)
* refactor default keymap
* use LAYOUT as layout macro reference
* use enum statement for layer indexes; make layers contiguous
* use four-space indent
* update keycode grid alignment
* update layout macro aliases
* move layout macro aliases to info.json
* alias KEYMAP to LAYOUT_ortho_4x12 so the user keymaps don't have to be edited
* touch up meira.h
There's no Planck MIT layout reference here.
* add copyright headers
* workaround patch for grahampheath keymap
The `matrix_init_kb()` function in `meira.c` calls `backlight_set()`, but the grahampheath keymap disables Backlight to make space for Audio, causing the firmware to fail to compile.
This commit wraps the `backlight_set()` call in an ifdef statement, so the call is excluded if Backlight is disabled.
* clean up rules.mk inline comments
* re-order rules.mk settings
* clean up readme.md
* correct link to keyboard image
* change metadata section to unordered list
* spelling corrections
* update make instructions and Docs links
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Add initial implementation of 5 keyboards supported by the OverNumpad Controller.
* Apply suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Apply changes similar to other code review suggestions.
* Apply suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Apply changes similar to other code review suggestions.
* overnumpad controller info.jsons: update maintainer and url.
* classic_ultracl_pre_2013: added support for the default 'fullsize_ansi' layout
* classic_ultracl_pre_2013: moved the order of the iso enter key in the layout macro to be considered to be on the bottom row, like in the default fullsize_iso layout. Rename the iso layout to fullsize_iso, and enable it in rules.mk
* Removed QMKBEST and QMKURL
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
* Deleting empty files
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Moved gergoplex to seperate PR
* vendor + cformat
* Update keyboards/gboards/k/gergoplex/matrix.c
Co-Authored-By: Drashna Jaelre <drashna@live.com>
* lifiting keyboards up
* Update readme.md
* Update keyboards/gboards/gergoplex/config.h
Co-authored-by: Drashna Jaelre <drashna@live.com>
* remove English dicts
* cformatted
* Prettify keymap
* Remove via keymaps
Via doesn't support chords/combos, and this makes the keymap on such a
small keyboard quite uncomfortable and incomplete.
* Address QMK pull code review notes
* Cleanup (tabs, excessive comments)
* Fix keymap typos
* Use enum to define layers
* Multiple changes
- got rid of LAYOUT_kc in favour of LAYOUT_split_3x5_3
- fixed matrix custom C code to build with updated external dependencies (gcc)
- fixed used combo docs
keyboards/gboards/gergoplex/matrix.c:189:9: error: implicit declaration of function 'phex' [-Werror=implicit-function-declaration]
phex(row);
^~~~
keyboards/gboards/gergoplex/matrix.c:191:9: error: implicit declaration of function 'pbin_reverse16'; did you mean 'print_bin_reverse16'? [-Werror=implicit-function-declaration]
pbin_reverse16(matrix_get_row(row));
* Remove apparently redundant macros
* Replace direct pin control with IO functions
* config mouse enable and combo delay fix
The default delay is 200:
#define COMBO_TERM 200
how long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
tmk_core/common/action_tapping.h|22| 13:# define TAPPING_TERM 200
* Remove redundant defines
* Unambiguously refer to the Special layer
* Fix formatting
* gboards/gergoplex set IGNORE_MOD_TAP_INTERRUPT
This solves my issue was with KC_CTL_A working correctly and it was set in @germ's repo
39c86e080d/keyboards/gboards/k/gergoplex/config.h (L49)https://beta.docs.qmk.fm/using-qmk/software-features/tap_hold#ignore-mod-tap-interrupt
* Name change
See commit 581368596e
* Wording change
* Update keyboards/gboards/gergoplex/keymaps/default/keymap.c
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Add copyright headers
* Fix debounce type
| avr-gcc: error: .build/obj_gboards_gergoplex_default/quantum/debounce/eager_pr.o: No such file or directory
* Implement colemak-dhm keymap
Co-authored-by: Germ <jeremythegeek@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Brian Tannous <Brian@BrianTannous.com>