* info.json: use human-friendly formatting
* info.json: fix key sequences for ISO layouts
All the ISO layouts had the Enter key out-of-sequence, causing key-assignment mismatches in QMK Configurator.
* momoka_ergo.h: use modified QMK 3-character notation
Renames the matrix position arguments to use QMK's K<row><column> notation, but using L or R for the left and right halves, respectively.
* physically arrange layout macro
Arrange the layout macro and keycodes to resemble the assembled keyboard.
* info.json: rebuild LAYOUT data
Fixes mispositioned keys in QMK Configurator.
* remove K214 from LAYOUT_1065_ansi macro
Position K214 is only used by the ISO layout (as KC_NUHS); it doesn't get used here. Removing it so the layout macro matches the info.json layout data.
Also updates info.json to use human-friendly formatting.
* add layout macros
Adds:
- LAYOUT_1065_ansi_split_bs macro
- LAYOUT_1065_iso macro
- LAYOUT_1065_iso_split_bs macro
- `default_iso` keymap
* add LAYOUT_all macro
Adds LAYOUT_all macro and a `default_all` keymap.
This PCB is unusual in that the ANSI Backslash and ANSI Enter do not share their matrix positions with the Non-US Backslash or ISO Enter keys at all. This layout macro supports both the ANSI and ISO positions in one macro/keymap.
* info.json: human-friendly formatting
- one key per line
- line breaks between physical rows
- four-space indent
* info.json: add data for LAYOUT_grid
* fix keymap paths
This commit corrects the paths for three keymaps that were in the wrong directory.
* refactor and bugfix abienz keymap
- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- add include for Colemak keycode support
- use four-space indent
* refactor and bugfix michelle keymap
- remove inline comments for keymap layout
- remove extra commas
- use QMK-native aliases for KC_TRNS and KC_NO
- use four-space indent
* refactor and bugfix twolayer keymap
- remove extra commas
- refactor action_get_macro() keycode to QMK-native keycode
- use QMK-native aliases for KC_TRNS
- use four-space indent
- adjust grid alignment
* rename LAYOUT_grid to LAYOUT_ortho_5x15
* refactor config.h file
- use #pragma once include guard
- update MANUFACTURER and PRODUCT strings to be consistent with other OLKB boards
- remove Magic config (all settings are default)
* refactor atomic.c
- add license header
- use GPIO control functions
* refactor atomic.h
- add license header
- use #pragma once include guard
- remove redundant file includes
* refactor rules.mk
- remove Bootloader selection comments
- unify Build Option header comment to QMK template
- unify Build Option rules and inline comments
* alias LAYOUT_grid to LAYOUT_ortho_5x15
* info.json: human-friendly formatting
* use QMK 3-character notation for layout macro/data
* alu84.h: use #pragma once include guard
* clean up alu84.c
Remove unnecessary includes and functions.
* refactor config.h
- use #pragma once include guard
- enable Backlight Breathing
- align comments to QMK AVR template
* refactor default keymap
- add license header
- use layer_names enum
- refactor keymap to be more generic
- remove unnecessary and empty functions
* refactor turbomech keymap.c
- edit license header
- refactor keymap for readability (use QMK-native keycode aliases)
- remove unnecessary and empty functions
* refactor turbomech config.h
- use #pragma once include guard
- align to QMK template
* refactor turbomech rules.mk
Edit the file to make it conform to QMK template.
* align rules.mk to QMK template
* touch-up default keymap
* touch-up alu84.h
* rename LAYOUT to LAYOUT_75_ansi
Also enables Community Layout Support
* modernize readme.md
- update description
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links
* alias LAYOUT to LAYOUT_75_ansi
* change readme image URL per fauxpark
* touch up turbomech keymap rules.mk per fauxpark
* rules.mk: convert tab to spaces
* info.json: human-friendly formatting
- one key object per line; line breaks between physical rows
- four-space indent
- remove trailing whitespace
* info.json: correct key object order for LAYOUT_numpad_6x4
* use human-friendly formatting in info.json
* move layout macro aliases to info.json
* correct and complete layout data
Corrects the layout data for a few layouts, adds the missing data, and renames some of the layout macros.
- rename LAYOUT_wkl_ansi_2_right_mods to LAYOUT_65_ansi_wkl
- rename LAYOUT_wkl_ansi_3_right_mods to LAYOUT_65_ansi_lwkl
- rename LAYOUT_wkl_iso_2_right_mods to LAYOUT_65_iso_wkl
- rename LAYOUT_wkl_iso_3_right_mods to LAYOUT_65_iso_lwkl
* modernize acr60.h
- use #pragma once include guard
- add license header
- use four-space indent
- use QMK three-character notation for layout macro arguments
* human-friendly format info.json
* remove `key_count` keys from info.json
* rename LAYOUT_2_shifts to LAYOUT_all
* move LAYOUT_all to top
* use QMK three-character notation in info.json
* refactor default keymap
- add license header
- remove third layer (does nothing)
- replace Shift-Escape keycode with KC_GESC
- use LAYOUT_all macro instead of LAYOUT
* modernize readme.md
- update header
- convert metadata section to list
- add flashing and bootloader jump instructions
- update Docs links
* use #pragma once include guard in config.h
* update LED Indicator API
* add license headers
* correct layout macro references
The keyboard's header file and info.json referenced different layout macro names.
* correct layout data
Insert an object for the Non-US Backslash key, which was previously missing.
Moves the ISO Enter keycode to the home row for more consistency with the rest of QMK. Also grid-aligns the keycodes and adds a block comment for the layout macro.
* human-friendly formatting
Add line breaks between rows and halves.
* fix rounding issues
Fixes issues with y-offset values due to rounding in KLE.
* remove layout dead space; re-mirror halves
Removes the empty white space from the layout, and aligns the keys on the right half so they are a mirror of the left half.
* rename LAYOUT to LAYOUT_all
* refactor default keymap
- add license header
- use layer_names enum
- use LAYOUT_all macro
- update keymap to be more generic
- use QMK-native keycode aliases
* info.json: human-friendly formatting
* convert LAYOUT_iso into a proper LAYOUT_60_iso
* LAYOUT_all bugfix
In the physical sense, position k3d is to the left of k3c.
* rework LAYOUT_max into LAYOUT_60_ansi_split_bs_rshift
* remove LAYOUT_iso_splitrshift and iso_split_rshift keymap
* rework LAYOUT_hhkb into LAYOUT_60_hhkb
* amj60.h cleanup
- add license header
- use #pragma once include guard
- concatenate layout block comments
- remove unnecessary function headers
* add license header to amj60.c
* align config.h to QMK template
* align rules.mk to QMK template
* enable Community Layout support
* modernize readme.md
- add PCB image
- convert keyboard data to list
- add flashing and bootloader instructions
- update Docs links
* scale layout data
Seems the KLE data that was imported to make the original file was scaled 1.25x. This commit removes the scaling.
* human-friendly formatting
Insert line breaks between physical layout rows.
* remove instances where width or height is set to 1
The width and height of a key is defaulted to 1 if not provided by the JSON data, so there's no reason to set it manually.
* correct layout data
Fix incorrect key sizes/positions.
* rename LAYOUT to LAYOUT_65_ansi_blocker
* tweak human-friendly formatting for info.json
Add new lines for new rows.
* adjust keycode alignment in via keymap
* clean up extra lines in readme file
* enable 65_ansi_blocker Community Layout support
* clean up rules.mk
Aligns the inline comments.
* correct info.json data
Removes an extra key object, and corrects the layout macro reference.
* refactor rules.mk file
- remove invalid `LAYOUTS` rule
- edits the rules.mk file to more closely resemble the file from QMK's AVR template.
* additional rules.mk cleanup per fauxpark
Apply suggestions from code review
* adjust key positioning in Configurator
Some of the keys were visually overlapping when rendered. Adjusted the key positioning to remove the overlaps.
* update readme.md
- fix a broken URL
- rewrite the Bootloader access instructions
- remove trailing whitespace
* grid align layout macro and keymaps
* physically arrange layout macro, phase 1
* physically arrange layout macro, phase 2
* replace KC_PAUSE with KC_PAUS
Makes the grid alignment nice. :)
* rename LAYOUT_65_ansi to LAYOUT_all
The included layout macro isn't actually correct for QMK's 65% ANSI community layout.
* add an actual LAYOUT_65_ansi
This is a semi-educated guess as to this macro; it may be wrong.
* physically arrange layout macro
Arranges the layout macro and keycodes to resemble the assembled keyboard.
* correct info.json data
Corrects the key sequence and positioning in info.json.
* correct layout data
* use LAYOUT as layout macro name
The defined LAYOUT_daisy is functional, but Configurator expects LAYOUT through the info.json file. As the board only supports one layout according to the open-source PCB files, use LAYOUT as the defined macro per QMK guidelines.
* add layout macro alias
* grid-align layout macro and keymaps
* physically align layout macro and keycodes
Arrange the layout macro and keycodes to resemble the assembled keyboard.
* update info.json data
Updates the info.json data to be correct to the new layout macro.
* Add Per Key functionality for AutoShift (#11536)
* LED Matrix: Reactive effect buffers & advanced indicators (#12588)
* [Keyboard] kint36: switch to sym_eager_pk debouncing (#12626)
* [Keyboard] kint2pp: reduce input latency by ≈10ms (#12625)
* LED Matrix: Split (#12633)
* [CI] Format code according to conventions (#12650)
* feat: infinite timeout for leader key (#6580)
* feat: implement leader_no_timeout logic
* docs(leader_key): infinite leader timeout docs
* Format code according to conventions (#12680)
* Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403)
* Fix default ADC_RESOLUTION for ADCv3 (and ADCv4)
Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers
(that macro should not have been there, because ADCv3 has CFGR instead of
CFGR1). Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS
if it is defined (that name is used for ADCv3 and ADCv4).
* Update ADC docs to match the actually used resolution
ADC driver for ChibiOS actually uses the 10-bit resolution by default
(probably to match AVR); fix the documentation accordingly. Also add
both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names
differ according to the ADC implementation in the particular MCU).
* Fix pinToMux() for B12 and B13 on STM32F3xx
Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and
B13 pins were wrong.
* Add support for all possible analog pins on STM32F1xx
Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx
(they are the same at least for STM32F103x8 and larger F103 devices, and
also F102, F105, F107 families). Actually tested on STM32F103C8T6
(therefore pins C0...C5 were not tested).
Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages,
cannot be supported at the moment, because those pins are connected only
to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1.
* Add support for all possible analog pins on STM32F4xx
Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally
F3...F10 (if STM32_ADC_USE_ADC3 is enabled). These mux values are
apparently the same for all F4xx devices, except some smaller devices may
not have ADC3.
Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using
various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested.
Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices
which don't have ADC3 also don't have the GPIOF port, therefore the code
which refers to Fx pins does not compile.
* Fix STM32F3xx ADC mux table in documentation
The ADC driver documentation had some errors in the mux table for STM32F3xx.
Fix this table to match the datasheet and the actual code (mux settings for
B12 and B13 were also tested on a real STM32F303CCT6 chip).
* Add STM32F1xx ADC pins to the documentation
* Add STM32F4xx ADC pins to the documentation
* Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600)
* Add support for jumping to tinyuf2 bootloader. Adds blackpill UF2 example.
* Update flashing.md
* Update chconf.h
* Update config.h
* Update halconf.h
* Update mcuconf.h
* eeprom driver: Refactor where eeprom driver initialisation (and EEPROM emulation initialisation) occurs to make it non-target-specific. (#12671)
* Add support for MCU = STM32F446 (#12619)
* Add support for MCU = STM32F446
* Update platforms/chibios/GENERIC_STM32_F446XE/configs/config.h
* Restore mcuconf.h to the one used by RT-STM32F446RE-NUCLEO64
* stm32f446: update mcuconf.h and board.h for 16MHz operation, with USB enabled, and other peripherals disabled.
* Format code according to conventions (#12682)
* Format code according to conventions (#12687)
* Add STM32L433 and L443 support (#12063)
* initial L433 commit
* change to XC
* fix L433
* disable all peripherals
* update system and peripheral clocks
* 433 change
* use its own board files
* revert its own board files
* l433 specific change
* fix stm32l432xx define
* remove duplicate #define
* fix bootloader jump
* move to L443xx and add i2c2, spi2, usart3 to mcuconf.h
* move to L443
* move to L443
* fix sdmmc in mcuconf.h
* include STM32L443
* add L443
* Include L443 in compatible microcontrollers
* Include L443 in compatible microcontrollers
* Update config bootloader jump description
* Update ChibiOS define reasoning
* Update quantum/mcu_selection.mk
* fix git conflict
* Updated Function96 with V2 files and removed chconf.h and halconf.h (#12613)
* Fix bad PR merge for #6580. (#12721)
* Change RGB/LED Matrix to use a simple define for USB suspend (#12697)
* [CI] Format code according to conventions (#12731)
* Fixing transport's led/rgb matrix suspend state logic (#12770)
* [CI] Format code according to conventions (#12772)
* Fix comment parsing (#12750)
* Added OLED fade out support (#12086)
* fix some references to bin/qmk that slipped in (#12832)
* Resolve a number of warnings in `qmk generate-api` (#12833)
* New command: qmk console (#12828)
* stash poc
* stash
* tidy up implementation
* Tidy up slightly for review
* Tidy up slightly for review
* Bodge environment to make tests pass
* Refactor away from asyncio due to windows issues
* Filter devices
* align vid/pid printing
* Add hidapi to the installers
* start preparing for multiple hid_listeners
* udev rules for hid_listen
* refactor to move closer to end state
* very basic implementation of the threaded model
* refactor how vid/pid/index are supplied and parsed
* windows improvements
* read the report directly when usage page isn't available
* add per-device colors, the choice to show names or numbers, and refactor
* add timestamps
* Add support for showing bootloaders
* tweak the color for bootloaders
* Align bootloader disconnect with connect color
* add support for showing all bootloaders
* fix the pyusb check
* tweaks
* fix exception
* hide a stack trace behind -v
* add --no-bootloaders option
* add documentation for qmk console
* Apply suggestions from code review
* pyformat
* clean up and flesh out KNOWN_BOOTLOADERS
* Remove pointless SERIAL_LINK_ENABLE rules (#12846)
* Make Swap Hands use PROGMEM (#12284)
This converts the array that the Swap Hands feature uses to use PROGMEM,
and to read from that array, as such. Since this array never changes at
runtime, there is no reason to keep it in memory. Especially for AVR
boards, as memory is a precious resource.
* Fix another bin/qmk reference (#12856)
* [Keymap] Turn OLED off on suspend in soundmonster keymap (#10419)
* Fixup build errors on `develop` branch. (#12723)
* LED Matrix: Effects! (#12651)
* Fix syntax error when compiling for ARM (#12866)
* Remove KEYMAP and LAYOUT_kc (#12160)
* alias KEYMAP to LAYOUT
* remove KEYMAP and LAYOUT_kc
* Add setup, clone, and env to the list of commands we allow even with broken modules (#12868)
* Rename `point_t` -> `led_point_t` (#12864)
* [Keyboard] updated a vendor name / fixed minor keymap issues (#12881)
* Add missing LED Matrix suspend code to suspend.c (#12878)
* LED Matrix: Documentation (#12685)
* Deprecate `send_unicode_hex_string()` (#12602)
* Fix spelling mistake regarding LED Matrix in split_common. (#12888)
* [Keymap] Fix QWERTY/DVORAK status output for kzar keymap (#12895)
* Use milc.subcommand.config instead of qmk.cli.config (#12915)
* Use milc.subcommand.config instead
* pyformat
* remove the config test
* Add function to allow repeated blinking of one layer (#12237)
* Implement function rgblight_blink_layer_repeat to allow repeated blinking of one layer at a time
* Update doc
* Rework rgblight blinking according to requested change
* optimize storage
* Fixup housekeeping from being invoked twice per loop. (#12933)
* matrix: wait for row signal to go HIGH for every row (#12945)
I noticed this discrepancy (last row of the matrix treated differently than the
others) when optimizing the input latency of my keyboard controller, see also
https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/
Before this commit, when tuning the delays I noticed ghost key presses when
pressing the F2 key, which is on the last row of the keyboard matrix: the
dead_grave key, which is on the first row of the keyboard matrix, would be
incorrectly detected as pressed.
After this commit, all keyboard matrix rows are interpreted correctly.
I suspect that my setup is more susceptible to this nuance than others because I
use GPIO_INPUT_PIN_DELAY=0 and hence don’t have another delay that might mask
the problem.
* ensure we do not conflict with existing keymap aliases (#12976)
* Add support for up to 4 IS31FL3733 drivers (#12342)
* Convert Encoder callbacks to be boolean functions (#12805)
* [Keyboard] Fix Terrazzo build failure (#12977)
* Do not hard set config in CPTC files (#11864)
* [Keyboard] Corne - Remove legacy revision support (#12226)
* [Keymap] Update to Drashna keymap and user code (based on develop) (#12936)
* Add Full-duplex serial driver for ARM boards (#9842)
* Document LED_MATRIX_FRAMEBUFFER_EFFECTS (#12987)
* Backlight: add defines for default level and breathing state (#12560)
* Add dire message about LUFA mass storage bootloader (#13014)
* [Keyboard] Remove redundant legacy and common headers for crkbd (#13023)
Was causing compiler errors on some systems.
* Fix keyboards/keymaps for boolean encoder callback changes (#12985)
* `backlight.c`: include `eeprom.h` (#13024)
* Add changelog for 2021-05-29 Breaking Changes merge (#12939)
* Add ChangeLog for 2021-05-29 Breaking Changes Merge: initial version
* Add recent develop changes
* Sort recent develop changes
* Remove sections for ChibiOS changes per tzarc
No ChibiOS changes this round.
* Add and sort recent develop changes
* add notes about keyboard moves/deletions
* import changelog for PR 12172
Documents the change to BOOTMAGIC_ENABLE.
* update section headings
* re-sort changelog
* add additional note regarding Bootmagic changes
* remove changelog timestamp
* update dates in main Breaking Changes docs
* fix broken section anchors in previous changelogs
* add link to backlight/eeprom patch to changelog
* highlight some more changes
* link PRs from section headers
* Restore standard readme
* run: qmk cformat --core-only