* Helix/pico use post_rules.mk insted of local_features.mk
Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
```
* Helix/rev2 use post_rules.mk
Tested with the following procedure.
```
git checkout 77a93fec79 (qmk/develop)
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
git checkout helix_use_post_rules.mk
make clean
make helix/pico:all:check-md5
make helix/pico/sc:all:check-md5
make helix/rev2:all:check-md5
make helix/rev2/sc:all:check-md5
```
* Add keyboard Q1
* Update keyboards/keychron/q1/readme.md
* Update keyboards/keychron/q1/rev_0100/rules.mk
* Update keyboards/keychron/q1/readme.md
* Change layer switch function to "default_layout_set"
* Update keyboards/keychron/q1/rev_0100/info.json
* Update keyboards/keychron/q1/q1.c
* Mask out the DIP switch to fix sleeping issue when switch is ON
* Added and changed readme.md
Added keyboards\q1\rev_0100\readme.md
Changed keyboards\q1\readme.md since different MCU may used in other version.
* update
* update keymap name
* update keymap for keychron/q1/rev_0102
* Update info.json
This patch corrects 2 issues with the LED matrix of the KDBFans KBD67 Lite (v3)
* Incorrect mapping of the right-shift, down-arrow, and right-arrow. (i.e. `NO_LED` positions of the `g_led_config` key matrix in the .c file do not match the `LAYOUT_65_ansi_blocker` matrix in the .h file.
* Remapping of the *LED Index to Physical Position* using physical measurements from actual keyboard and accounting for the southpaw LED position to define the true centre of the keyboard (more relevant to circular animations).
* Make solo half of split keyboards (more) usable.
Using only one half of a split keyboard (that's using the split_common
framework to communicate) is not a great experience, since several read
timeouts per scan cycle cause an unusably slow scan rate.
This change blocks all split communication attempts for 500 ms
(configurable) after an error occurs, causing the scan rate to become at
least _more_ usable, but might need some tweaking to work fully on most
keyboards. One read timeout still needs to occur after the 500 ms has
passed, and if that timeout isn't low enough, some scan cycles may still
be too slow.
* Fix lint complaint.
* Require 25 consecutive comm errors to see comms as disconnected.
The number of max errors can be overridden by defining
`SPLIT_MAX_CONNECTION_ERRORS`.
* Add comments to new defines, and ability to disable disconnection check.
Also increase `SPLIT_MAX_CONNECTION_ERRORS` to 40, since it's divisible
by most relevant numbers for the description.
* Make lint happy ...again
* Only update `connection_check_timer` when needed.
* Add new defines to split keyboard documentation.
* Move connection timeout logic to transport.c, add `is_transport_connected`.
* Use split_common disconnection logic in matrix.c.
Instead of doing more or less the same thing twice.
* Move disconnection logic to `transport_master`.
Is a cleaner implementation, and causes the scan rate while disconnected
to increase instead of decrease.
* Lint fixes.
* Lower default `SERIAL_USART_TIMEOUT` to 20 ms.
The read timeout must be low enough to not cause exessively long scan
cycles when using a solo split half. 10 ms was determined from testing
to work fine even with the slowest defined baudrate of 19200 (5 ms was
too low for that case), so 20 ms should be fine for most cases.
* Remove `SERIAL_USART_TIMEOUT` from ergodox_infinity/config.h
Was somewhat mistakenly included in an earlier PR.
* Fix building with `USE_I2C`.
* Reduce built firmware size.
Not really sure why this works, the idea was taken from tzarc's work on
split disconnection.
* Tweak and improve opt-out for split disconnection logic.
There are now two ways to opt out from this feature:
* Set `SPLIT_MAX_CONNECTION_ERRORS` to 0. This will completely disable
the connection status checks (also affects the slave matrix reset logic in
matrix.c, though).
* Set `SPLIT_CONNECTION_CHECK_TIMEOUT` to 0. This will only disable the
communication throttling while disconnected. Will make the firmware
smaller.
* Make split disconnection logic work with custom transports.
Includes a fallback implementation for keyboards using a custom
split_util.c but not a custom matrix.c (currently no such keyboard seems
to be merged, though).
* Remove unnecessary include of timer.h
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* Fill the oleds with right mods
* Enable double mods on x32 oleds
* Disable forced NKRO
* Make oleds fancy only on good MCUs
* Overhaul oled display
* Further enhance oled, with kitty!
* Final oled form
* Not working transport
* Transport id of woring
* Add acceleration
* fix button placement for accel macro
* Fix accelartion location and behavior
* Remove OLED sync code
* Fix alignment issue
* Remove audio hack
* Fix up zima keymap
* Add matrix slave scan function and cleanup drashna.h
* Clean up user space
* Allow userspace sync to be disable-able
* Fix weird issue with audio
* Fix alignment issue with user split sync
* Disable second rgb matrix task
* Disable additional animations
* Change dynamic keymap settings
* Hacky fix for borked corne
* Add Blackpill (F411) support to tractyl manuform
* remove manual via eeprom reset
* Remove all references to rgblight twinkle
* Fix issues with config processing
* rename LAYOUT to LAYOUT_all
* add info.json
* override DYNAMIC_KEYMAP_LAYER_COUNT for via keymap
The via keymap only initialized two layers without overriding the default value of DYNAMIC_KEYMAP_LAYER_COUNT (4).
This commit sets DYNAMIC_KEYMAP_LAYER_COUNT for the via keymap to 2.
* noah_avr.h: use QMK 3-character notation for matrix positions
* Community Layout support, Stage 1
- rename LAYOUT_ansi to LAYOUT_65_ansi_blocker
- rename LAYOUT_ansi_splitbs to LAYOUT_65_ansi_blocker_split_bs
- enable Community Layout support
* info.json: add line breaks between rows
* info.json: correct LAYOUT_iso data
- unsplit the Backspace
- change ANSI Enter to ISO Enter
- split the left Shift
* Community Layout support, Stage 2
- rename LAYOUT_iso to LAYOUT_65_iso_blocker
- update Community Layout support
* Community Layout support, Stage 3
- add LAYOUT_65_iso_blocker_split_bs
- update Community Layout support
* noah_avr.h: add matrix diagram
* info.json: human-friendly formatting
* info.json: remove "w":1 instances
* info.json: correct positions of Left, Down and Right Arrow keys
* info.json: add LAYOUT_all data
* move Home key to end of home row
According to photographs of the keyboard, the fourth key down on the right side is physically on the home row. This commit moves the key argument and keycodes to the home row.
* whale75.h: use QMK 3-character notation for matrix
* whale75.h: add matrix diagram
* add keyboard-level encoder functionality
* info.json: correct key sequence on ISO layouts
* Update keymap & readme
-Keymap.c: Key combinations removed for resetting and added a new way to reset. Also removed unused timer code.
-config.h & rules.mk: Removed on kemap level (these were there for the key combo's)
-Readme.md: Changed the preview image and changed the description to reset the keyboard. Also added what connector type is used.
* Update readme.md
Better wording on how to get the keyboard in bootloader mode
* Update keymap.c
Switched + and - around, same with / and *.
* add info.json for Quefrency rev1
* add info.json for Quefrency rev2
* add info.json for Quefrency rev3
* add info.json for Quefrency rev4
* remove "global" Quefrency info.json
* remove layout macro aliases from keyboard headers
These were moved into the info.json files.
* rename layout macros
The existing layout macro names were not accurate to QMK's standard for the names that were given.
- rename LAYOUT_65_ansi_blocker to LAYOUT_65_ansi_blocker_split_bs
- rename LAYOUT_65_iso_blocker to LAYOUT_65_iso_blocker_split_bs
* correct info.json data
* add LAYOUT_65_iso_blocker
* add LAYOUT_65_ansi_blocker
* add Community Layout support
* update grid alignment on layout macros
* add LAYOUT_all
* refactor default and via keymaps
- use LAYOUT_all macro
- use _______ for KC_TRNS
- via keymap fixes
- swap KC_BSPC for KC_DEL on Layer 1 (matches default keymap)
- remove KC_PGUP from Layers 2 and 3 (makes both layers fully transparent)
* Add config.h and rules.mk support for data driven keymaps
* tidy up after rebase
* Rename key as it can contain more than just keyboard overrides
* tidy up after rebase
* Add validation