Commit Graph

349 Commits

Author SHA1 Message Date
Joel Challis
63daf94ee6
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24938) 2025-02-22 01:48:42 +00:00
Joel Challis
164b7331c3
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24915) 2025-02-17 08:39:29 +11:00
Drashna Jaelre
7fe168a8ed
[Keyboard] Move Ergodox STM32 to handwired folder (#24903)
* [Keyboard] Move Erogdox STM32 to handwired folder

To minimize confusion with ZSA's ergodox EZ ST (stm32f303) and because this is basically a one-off board

* Don't forget mapping

* Fix readme
2025-02-07 19:10:45 +11:00
Joel Challis
7073ba3dbb
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24845) 2025-01-30 06:21:09 +11:00
Joel Challis
c7904502e5
handwired/xealous - Remove DEFAULT_FOLDER (#24877) 2025-01-28 05:58:21 +00:00
Pascal Getreuer
544ddde113
[Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to 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.
2025-01-27 12:32:23 +01:00
Joel Challis
1a30e2b32b
Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson (#24835) 2025-01-20 22:26:25 +00:00
Joel Challis
7a0dbe36f3
Formally deprecate DEFAULT_FOLDER (#24836) 2025-01-20 04:55:01 +00:00
muge
93de533580
Move cxt_studio keyboard to own folder (#24748) 2024-12-26 08:58:26 +00:00
j-hap
38eb643a82
Add keymap-extras for EurKEY layout (#24241)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2024-12-23 23:23:51 -08:00
Less/Rikki
b4ece24c7d
move ymdk/id75 to revision (#24590) 2024-12-22 13:03:03 -08:00
フィルターペーパー
e1351b4f4b
Subscript alef correction (#24707)
Output for U+0656 is AltGr + V
2024-12-12 11:01:50 -07:00
Amund Tenstad
379bb77005
fix: KC_MEDIA_PLAY_PAUSE label (#24693) 2024-12-08 22:44:12 -07:00
Nick Brassel
7d8f193988
Allow codegen of keymap.json => keymap.c without requiring layers/layout etc. (#23451) 2024-11-24 20:32:30 +11:00
Joel Challis
4a5bae51cd
[Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#24630)
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881)

* Apply suggestions from code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

---------

Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-11-23 10:09:34 +00:00
Drashna Jaelre
36b5559b99
[Core] Add Layer Lock feature (#23430)
Co-authored-by: Daniel <1767914+iamdanielv@users.noreply.github.com>
Co-authored-by: Pascal Getreuer <getreuer@google.com>
Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
2024-11-21 17:31:54 +11:00
HorrorTroll
39161b9ee7
Added MCU support for ArteryTek AT32F415 (#23445) 2024-11-21 17:28:28 +11:00
Nick Brassel
0bda0f4775
Revert removal of QK_OUTPUT_AUTO, fixup docs to reflect. (#24593) 2024-11-14 21:16:52 +11:00
Nikolai Grigoriev
2c0cdcf7b2
Improve consistency of syntax within data/constants/keycodes (#24528) 2024-10-28 06:23:15 +00:00
Ramon Imbao
c6b2553470
Rename saevus to concreteflowers (#24249) 2024-10-19 13:25:30 +01:00
Sadek Baroudi
9d17779832
Add svlinky converter (#24449) 2024-10-12 00:16:25 +01:00
Nick Brassel
60308a2c0f
These should really have been 0.0.6. 2024-08-27 10:55:32 +10:00
Nick Brassel
70cbf08b67
Add new connection keycodes for Bluetooth, 2.4GHz. (#24251) 2024-08-27 10:52:23 +10:00
Drashna Jaelre
2d2eed9594
[Keyboard] Move Planck EZ to ZSA vendor folder (#23917) 2024-08-14 14:27:37 +01:00
QMK Bot
2c6409fdd8 Merge remote-tracking branch 'origin/master' into develop 2024-08-12 12:34:54 +00:00
Nick Brassel
380e0c9cad
Userspace: add support for adding environment variables during build (#22887) 2024-08-12 22:34:22 +10:00
Less/Rikki
938837e881
refactor: keyboard/ncr80/r2 (#22670)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2024-07-26 19:14:00 -07:00
Joel Challis
4ab36df48f
Move split.soft_serial_pin to split.serial.pin (#24127) 2024-07-18 09:02:53 +10:00
leyew
2623a258f1
[Keyboard] Rename dnworks/9973 to dnworks/tkl87 (#23692) 2024-07-11 14:40:54 +01:00
Joel Challis
f5319d8911
Remove DEFAULT_FOLDER from maple_computing/lets_split_eh (#24054) 2024-07-10 17:17:08 -07:00
Ryan
f8596b40a4
Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
QMK Bot
641a1ce568 Merge remote-tracking branch 'origin/master' into develop 2024-06-30 02:40:18 +00:00
Joel Challis
3ffe8d917a
Fix 'qmk new-keyboard' processing of development_board (#23996) 2024-06-30 03:39:49 +01:00
Joel Challis
f0471dd5b4
Remove skipped schema files (#23987) 2024-06-23 09:02:13 +01:00
Amir
751a6b5bc4
add farsi keymap extras (#23650) 2024-06-20 16:12:16 -07:00
Joel Challis
53a0cdc446
Implement data driven joysticks (#22947) 2024-06-18 03:44:22 +01:00
Joel Challis
51acd35e6f
Implement data driven serial driver (#23923) 2024-06-17 19:22:47 +01:00
Ryan
089a819179
keyboard.json schema: set minimum value for key_unit (#23937)
* keyboard.json schema: set minimum value for `key_unit`

* Fix invalid `matrix_size` in keyboard.json

* Fix bad layout for silverbullet44
2024-06-16 21:57:37 +01:00
James Young
249f1706f1
noroadsleft's 0.25.0 Changelogs and Touch-Ups (#23793)
* Modify PR23309 changelog

Adds a direct link to the pull request.

* Add PR23329 changelog

* Update keyboard aliases file

Updates the legacy keyboard aliases for the JJ40 and JJ50, which have
been moved again for version 0.25.0.

* Minor touch-up for JJ40 rev1 readme
2024-05-26 21:45:29 +01:00
Joel Challis
ef0734b7a6
Remove 'split.transport.protocol=serial_usart' (#23668) 2024-05-10 20:54:44 +10:00
Ryan
224ff1d262
Normalise RGBLight (underglow) keycodes (#23656) 2024-05-07 18:36:50 +10:00
Ryan
b7d5a6c50b
Add new set of keycodes for RGB Matrix (#23463) 2024-05-04 16:49:19 +10:00
Pavel Kroupa
1fc4bfa313
Add MacOS Czech ISO and ANSI keymaps #23346 (#23412) 2024-04-30 23:53:30 -07:00
Ryan
0ff53b2498
Rename RGBW define to WS2812_RGBW (#23585) 2024-04-28 00:36:54 +10:00
Joel Challis
d333a25868
Add audio driver to keyboard.json schema (#23616) 2024-04-26 05:41:22 +01:00
Joel Challis
16cca527a6
Fix WAIT_FOR_USB handling (#23598) 2024-04-24 19:33:52 +01:00
Ryan
c505ea48b3
Add haptic driver to keyboard.json schema (#23591) 2024-04-24 04:59:57 +01:00
Ryan
52d3ef0fe4
Add new set of keycodes for LED Matrix (#23432) 2024-04-11 14:14:02 +10:00
QMK Bot
38813e864b Merge remote-tracking branch 'origin/master' into develop 2024-03-22 23:30:59 +00:00
JuanoD
4afbade6d1
Add ES_GRV to latam language-specific keycodes (#23333) 2024-03-22 23:30:30 +00:00