aboutsummaryrefslogtreecommitdiff
path: root/data/schemas/keyboard.jsonschema
Commit message (Collapse)AuthorAgeFilesLines
* Require 'x'/'y' properties for LED/RGB Matrix layout (#24997)Joel Challis7 days1-0/+2
|
* Community modules (#24848)Nick Brassel2025-02-261-5/+12
|
* [Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to ↵Pascal Getreuer2025-01-271-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Achordion, Bilateral Combinations. (#24560) * Chordal Hold: restrict what chords settle as hold * Chordal Hold: docs and further improvements * Fix formatting. * Doc rewording and minor edit. * Support Chordal Hold of multiple tap-hold keys. * Fix formatting. * Simplification and additional test. * Fix formatting. * Tighten tests. * Add test two_mod_taps_same_hand_hold_til_timeout. * Revise handing of pairs of tap-hold keys. * Generate a default chordal_hold_layout. * Document chordal_hold_handedness(). * Add license notice to new and branched files in PR. * Add `tapping.chordal_hold` property for info.json. * Update docs/reference_info_json.md * Revise "hand" jsonschema. * Chordal Hold: Improved layout handedness heuristic. This commit improves the heuristic used in generate-keyboard-c for inferring key handedness from keyboard.json geometry data. Heuristic summary: 1. If the layout is symmetric (e.g. most split keyboards), guess the handedness based on the sign of (x - layout_x_midpoint). 2. Otherwise, if the layout has a key of >=6u width, it is probably the spacebar. Form a dividing line through the spacebar, nearly vertical but with a slight angle to follow typical row stagger. 3. Otherwise, assume handedness based on the widest horizontal separation. I have tested this strategy on a couple dozen keyboards and found it to work reliably. * Use Optional instead of `| None`. * Refactor to avoid lambdas. * Remove trailing comma in chordal_hold_layout. * Minor docs edits. * Revise to allow combining multiple same-hand mods. This commit revises Chordal Hold as described in discussion in https://github.com/qmk/qmk_firmware/pull/24560#discussion_r1894655238 1. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RCTL_T(KC_A)↑" before the tapping term, RCTL_T(KC_A) is settled as tapped. 2. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RSFT_T(KC_C)↑", both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped. 3. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, KC_U↓" (all keys on the same side), both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped. 4. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, LSFT_T(KC_T)↓", with the third key on the other side, we allow Permissive Hold or Hold On Other Keypress to decide how/when to settle the keys. 5. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓" held until the tapping term, the keys are settled as held. 1–3 provide same-hand roll protection. 4–5 are for combining multiple same-hand modifiers. I've updated the unit tests and have been running it on my keyboard, for a few hours so far, and all seems good. I really like this scheme. It allows combining same-side mods, yet it also has roll protection on streaks. For me, this feels like Achordion, but clearly better streak handling and improved responsiveness. * Fix formatting. * Add a couple tests with LT keys. * Remove stale use of CHORDAL_HOLD_LAYOUT. * Fix misspelling lastest -> latest * Handling tweak for LTs and tests. * Fix formatting. * More tests with LT keys. * Fix formatting.
* [Core] Add Layer Lock feature (#23430)Drashna Jaelre2024-11-211-0/+6
| | | | | | Co-authored-by: Daniel <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]>
* Added MCU support for ArteryTek AT32F415 (#23445)HorrorTroll2024-11-211-0/+2
|
* Add svlinky converter (#24449)Sadek Baroudi2024-10-121-1/+1
|
* Move split.soft_serial_pin to split.serial.pin (#24127)Joel Challis2024-07-181-2/+6
|
* Implement data driven joysticks (#22947)Joel Challis2024-06-181-0/+30
|
* Implement data driven serial driver (#23923)Joel Challis2024-06-171-0/+10
|
* keyboard.json schema: set minimum value for `key_unit` (#23937)Ryan2024-06-161-4/+4
| | | | | | | * keyboard.json schema: set minimum value for `key_unit` * Fix invalid `matrix_size` in keyboard.json * Fix bad layout for silverbullet44
* Remove 'split.transport.protocol=serial_usart' (#23668)Joel Challis2024-05-101-1/+1
|
* Rename `RGBW` define to `WS2812_RGBW` (#23585)Ryan2024-04-281-1/+5
|
* Add audio driver to keyboard.json schema (#23616)Joel Challis2024-04-261-0/+4
|
* Fix WAIT_FOR_USB handling (#23598)Joel Challis2024-04-241-1/+1
|
* Add haptic driver to keyboard.json schema (#23591)Ryan2024-04-241-0/+9
|
* LED drivers: add support for IS31FL3236 (#23264)Ryan2024-03-171-0/+2
|
* [Audio] Add support for audio shutdown pin (#22731)Drashna Jaelre2024-03-061-0/+8
| | | | Co-authored-by: Ryan <[email protected]>
* Add LED/RGB Matrix drivers to info.json schema (#23127)Ryan2024-02-251-33/+55
|
* Add encoder abstraction. (#21548)Nick Brassel2024-02-181-0/+4
|
* Ensure LTO is enabled as a `info.json` build config option (#22932)Joel Challis2024-02-011-2/+2
| | | | | * feature.lto -> build.lto * keymaps too
* Remove redundant audio eeconfig init (#22736)Joel Challis2023-12-241-0/+8
|
* Add Imera converter (#22419)leah-splitkb2023-11-281-1/+1
|
* Enable linking of encoders to switch within layout macros (#22264)Joel Challis2023-11-201-0/+1
|
* Implement data driven lighting defaults (#21825)Joel Challis2023-11-011-0/+43
|
* Add dd mapping for hardware based split handedness (#22369)Joel Challis2023-11-011-4/+17
|
* Remove use of broken split.main (#22363)Joel Challis2023-10-301-4/+5
|
* Implement data driven dip switches (#22017)Joel Challis2023-10-291-1/+37
| | | | | * Add data driven dip switches * Autogen weak matrix_mask
* Add DD mappings for locking switch (#22242)jack2023-10-251-1/+9
| | | | Co-authored-by: Ryan <[email protected]>
* Support additional split sync items for info.json (#22193)Joel Challis2023-10-211-3/+25
|
* Fix parsing/validation for 21939 (#22148)Joel Challis2023-09-271-2/+2
|
* More data driven RGB/LED Matrix config (#21939)Joel Challis2023-09-271-0/+8
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2023-09-201-1/+8
|\
| * Restrict "feature" and "animation" keys (#21895)Joel Challis2023-09-201-1/+8
| |
* | Implement data driven wear leveling (#21906)Joel Challis2023-09-051-1/+13
|/ | | | | | | | | | | | | | | | | | | | | | * DD encoder map, wear leveling * remove encoder map from DD let's avoid the support headache * wear leveling: specify the allowed drivers by name Co-authored-by: Ryan <[email protected]> * Add additional params * Relocate under eeprom * disable parsing --------- Co-authored-by: Dimitris Mantzouranis <[email protected]> Co-authored-by: Ryan <[email protected]>
* Add "apm32-dfu" in keyboard.jsonschema (#21842)HiryKun2023-08-261-0/+1
|
* Remove `led_matrix.hue_steps` and `led_matrix.sat_steps` from schema (#21827)Joel Challis2023-08-251-2/+0
|
* rgblight: driver selection cleanups (#21558)Ryan2023-08-151-0/+4
|
* Bluetooth: driver naming cleanups (#21624)Ryan2023-07-291-1/+1
|
* STM32H723 support (#21352)Nick Brassel2023-06-281-0/+2
|
* Move `RGBLIGHT_LED_MAP` to data driven (#21095)Ryan2023-06-141-0/+5
|
* Revert "Add *_MATRIX_LED_COUNT generation/validation (#19515)" (#21109)Joel Challis2023-06-021-2/+0
| | | This reverts commit 25c16b3adeb15466d75691162763ce062b2c6e64.
* Add *_MATRIX_LED_COUNT generation/validation (#19515)Joel Challis2023-06-021-0/+2
| | | | | | | * Add *_MATRIX_LED_COUNT parsing/validation * Disable parsing for now * Disable complexity check
* BIOI G60/Morgan65: use custom Bluetooth driver (#20897)Ryan2023-05-201-1/+1
|
* Migrate `rgblight.pin` and `RGB_DI_PIN` to `ws2812.pin` (#20303)Ryan2023-04-061-1/+5
|
* [Core] Caps Word "Invert on shift" option: pressing Shift inverts the ↵Pascal Getreuer2023-04-041-1/+2
| | | | | | shift state. (#20092) Co-authored-by: Nick Brassel <[email protected]>
* Allow EEPROM_DRIVER from info.json (#20313)Joel Challis2023-04-021-0/+5
|
* WS2812 driver improvements (#20262)Ryan2023-03-301-2/+4
|
* Custom keycodes in JSON (#19925)Joel Challis2023-03-271-0/+1
|
* Move `WS2812_DRIVER` to data driven (#20248)Ryan2023-03-261-0/+10
|
* Clean up APA102 config and add DD mapping (#20159)Ryan2023-03-201-0/+13
|