Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Missing Keymappings for Czech Language on macOS #23346

Closed
1 of 4 tasks
Tabonx opened this issue Mar 25, 2024 · 8 comments
Closed
1 of 4 tasks

Add Missing Keymappings for Czech Language on macOS #23346

Tabonx opened this issue Mar 25, 2024 · 8 comments
Labels
enhancement help wanted stale Issues or pull requests that have become inactive without resolution.

Comments

@Tabonx
Copy link
Contributor

Tabonx commented Mar 25, 2024

Feature Request Type

  • Core functionality
  • Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
  • Alteration (enhancement/optimization) of existing feature(s)
  • New behavior

Description

Currently, QMK lacks keymapping support for the Czech language on macOS. This presents a challenge for users who aim to type in Czech on QMK-configured keyboards, as they must manually map keys. Furthermore, there are layout inconsistencies with Czech keyboards on macOS, with some keys misplaced compared to the ISO standard. For instance, I've found that KC_NUBS is incorrectly positioned instead of KC_GRV, resulting in the system interpreting it as <, >, ≤, or ≥. Although I've made some custom bindings, not all have been tested, and I haven't created mappings for symbols I don't use or accidentally discovered.

These are the custom key bindings I've created for my own reference. (I use normal QMK KC bindings in my keymap)

#define CZ_1 S(KC_1) // 1
#define CZ_2 S(KC_2) // 2
#define CZ_3 S(KC_3) // 3
#define CZ_4 S(KC_4) // 4
#define CZ_5 S(KC_5) // 5
#define CZ_6 S(KC_6) // 6
#define CZ_7 S(KC_7) // 7
#define CZ_8 S(KC_8) // 8
#define CZ_9 S(KC_9) // 9
#define CZ_0 S(KC_0) // 0
#define CZ_PLUS KS_1 // +
#define CZ_ECAR KC_2 // ě
#define CZ_SCAR KC_3 // š
#define CZ_CCAR KC_4 // č
#define CZ_RCAR KC_5 // ř
#define CZ_ZCAR KC_6 // ž
#define CZ_YACU KC_7 // ý
#define CZ_AACU KC_8 // á
#define CZ_IACU KC_9 // í
#define CZ_EACU KC_0 // é
#define CZ_UCAR KC_SCLN // ů
#define CZ_DQTS S(KC_SCLN) // "
#define CZ_SCOL ALGR(KC_SCLN) // ;
#define CZ_HELIPS S(ALGR(KC_SCLN)) // …
#define CZ_UACU KC_LBRC // ú
#define CZ_SLSH S(KC_LBRC) // /
#define CZ_LARR S(ALGR(KC_LBRC)) // ‹
#define CZ_RARR S(ALGR(KC_RBRC)) // ›
#define CZ_RBRC KC_RBRC // )
#define CZ_LBRC S(KC_RBRC) // (
#define CZ_SRBRC ALGR(KC_RBRC) // ]
#define CZ_SLBRC ALGR(KC_LBRC) // [
#define CZ_PRG KC_QUOT // §
#define CZ_BANG S(KC_QUOT) // !
#define CZ_SQUOT ALGR(KC_QUOT) // '
#define CZ_TILDE S(ALGR(KC_QUOT)) // ~
#define CZ_AT ALGR(KC_2) // @
#define CZ_HASH ALGR(KC_3) // #
#define CZ_DOL ALGR(KC_4) // $
#define CZ_TILDE2 ALGR(KC_5) // ~
#define CZ_CARET ALGR(KC_6) // ^
#define CZ_APRS ALGR(KC_7) // &
#define CZ_STAR ALGR(KC_8) // *
#define CZ_CLBRC ALGR(KC_9) // {
#define CZ_CRBRC ALGR(KC_0) // }
#define CZ_EQL KC_MINS // =
#define CZ_PERC S(KC_MINS) // %
#define CZ_COMMA S(ALGR(KC_MINS)) // ,
#define CZ_CAR S(KC_EQL) // ˇ
#define CZ_MINSS S(ALGR(KC_EQL)) // - ?(Minus)?
#define CZ_SQUOT2 KC_EQL // '
#define CZ_QOTEUP KC_BSLS // ¨
#define CZ_BQUOT S(KC_BSLS) // `
#define CZ_QUOTEUP2 ALGR(KC_BSLS) // ¨
#define CZ_DQUOTE S(ALGR(KC_BSLS)) // ""
#define CZ_COMMA3 KC_COMM // ,
#define CZ_QUEMARK S(KC_COMM) // ?
#define CZ_LARROW ALGR(KC_COMM) // <
#define CZ_LESEQUAL S(ALGR(KC_COMM)) // ≤
#define CZ_DOT KC_DOT // .
#define CZ_DDOT S(KC_DOT) // :
#define CZ_RARROW ALGR(KC_DOT) // >
#define CZ_MOREQUAL S(ALGR(KC_DOT)) // ≥
#define CZ_MINS3 KC_MINS // - (Minus)
#define CZ_DASH ALGR(KC_MINS) // – (Dash)
#define CZ_EMDASH S(ALGR(KC_MINS)) // — (Em Dash)
#define CZ_BASLSH KC_GRV // \
#define CZ_BTICK KC_PIPE // `
#define CZ_LARROW2 KC_NUBS // < >< button
#define CZ_RARROW2 S(KC_NUBS) // > >< button
@noroadsleft
Copy link
Member

I found your post on reddit, and started looking into it because it's a fascinating puzzle for me.

How do the MacOS bindings differ from the existing keymap_czech assignments below?

Normal

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
│ ; │ + │ ě │ š │ č │ ř │ ž │ ý │ á │ í │ é │ = │ ´ │       │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
│     │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ú │ ) │     │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
│      │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ů │ § │ ¨ │    │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
│    │ \ │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │          │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
│    │    │    │                        │    │    │    │    │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘

Shifted

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
│ ° │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ % │ ˇ │       │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
│     │   │   │   │   │   │   │   │   │   │   │ / │ ( │     │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
│      │   │   │   │   │   │   │   │   │   │ " │ ! │ ' │    │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
│    │ | │   │   │   │   │   │   │   │ ? │ : │ _ │          │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
│    │    │    │                        │    │    │    │    │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘

AltGr

┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
│   │ ~ │   │ ^ │ ˘ │   │ ˛ │ ` │ ˙ │   │ ˝ │   │ ¸ │       │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
│     │   │   │ € │   │   │   │   │   │   │   │ ÷ │ × │     │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
│      │   │ đ │ Đ │ [ │ ] │   │   │ ł │ Ł │ $ │ ß │ ¤ │    │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
│    │   │   │ # │ & │ @ │ { │ } │   │ < │ > │ * │          │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
│    │    │    │                        │    │    │    │    │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘

I will note that QMK as a project tries to stick to short-form keycodes of seven characters or less, which not all of yours do. But we can work around that once I've wrapped my head around how all the keys are supposed to behave.

@fauxpark
Copy link
Member

fauxpark commented Apr 3, 2024

macOS has its own key mappings for all of the languages it supports; in fact it has several variants depending on the "keyboard type" that is configured for a given keyboard - ANSI, ISO or JIS. For example my Macbook Pro's builtin keyboard is locked to ANSI, but it would not know anything about an external keyboard, hence the setup wizard that appears when you plug a new board in.

The ANSI Czech layout on macOS looks like this:
Base
ansi
Shifted
ansi-s
Option
ansi-a
Shift+Option
ansi-sa

ISO:
Base
iso
Shifted
iso-s
Option
iso-a
Shift+Option
iso-sa

@Tabonx
Copy link
Contributor Author

Tabonx commented Apr 3, 2024

I've already created an HJSON file for generating a Czech keymap and tested it. It seems MacOS interprets my CRKBR as ANSI and my built-in keyboard as ISO. As mentioned earlier, KC_NUBS and KC_GRV are switched, so KC_NUBS produces <> next to 1, and KC_GRV produces \| next to the left shift. I'm unsure if this issue is specific to how MacOS interprets my keyboard as ANSI or if it should be switched universally.

Below are the generated keymaps displaying KC_GRV as I think it should be, but it doesn't work for me.

#define CZ_LABK KC_GRV  // <
#define CZ_PLUS KC_1    // +
#define CZ_ECAR KC_2    // ě
#define CZ_SCAR KC_3    // š
#define CZ_CCAR KC_4    // č
#define CZ_RCAR KC_5    // ř
#define CZ_ZCAR KC_6    // ž
#define CZ_YACU KC_7    // ý
#define CZ_AACU KC_8    // á
#define CZ_IACU KC_9    // í
#define CZ_EACU KC_0    // é
#define CZ_EQL  KC_MINS // =
#define CZ_ACUT KC_EQL  // ´ (dead)
#define CZ_Q    KC_Q    // Q
#define CZ_W    KC_W    // W
#define CZ_E    KC_E    // E
#define CZ_R    KC_R    // R
#define CZ_T    KC_T    // T
#define CZ_Z    KC_Y    // Z
#define CZ_U    KC_U    // U
#define CZ_I    KC_I    // I
#define CZ_O    KC_O    // O
#define CZ_P    KC_P    // P
#define CZ_UACU KC_LBRC // ú
#define CZ_RPRN KC_RBRC // )
#define CZ_A    KC_A    // A
#define CZ_S    KC_S    // S
#define CZ_D    KC_D    // D
#define CZ_F    KC_F    // F
#define CZ_G    KC_G    // G
#define CZ_H    KC_H    // H
#define CZ_J    KC_J    // J
#define CZ_K    KC_K    // K
#define CZ_L    KC_L    // L
#define CZ_URNG KC_SCLN // ů
#define CZ_SECT KC_QUOT // §
#define CZ_DIAE KC_NUHS // ¨ (dead)
#define CZ_BSLS KC_NUBS // (backslash)
#define CZ_Y    KC_Z    // Y
#define CZ_X    KC_X    // X
#define CZ_C    KC_C    // C
#define CZ_V    KC_V    // V
#define CZ_B    KC_B    // B
#define CZ_N    KC_N    // N
#define CZ_M    KC_M    // M
#define CZ_COMM KC_COMM // ,
#define CZ_DOT  KC_DOT  // .
#define CZ_MINS KC_SLSH // -
#define CZ_RABK S(CZ_LABK) // >
#define CZ_1    S(CZ_PLUS) // 1
#define CZ_2    S(CZ_ECAR) // 2
#define CZ_3    S(CZ_SCAR) // 3
#define CZ_4    S(CZ_CCAR) // 4
#define CZ_5    S(CZ_RCAR) // 5
#define CZ_6    S(CZ_ZCAR) // 6
#define CZ_7    S(CZ_YACU) // 7
#define CZ_8    S(CZ_AACU) // 8
#define CZ_9    S(CZ_IACU) // 9
#define CZ_0    S(CZ_EACU) // 0
#define CZ_PERC S(CZ_EQL)  // %
#define CZ_CARN S(CZ_ACUT) // ˇ (dead)
#define CZ_SLSH S(CZ_UACU) // /
#define CZ_LPRN S(CZ_RPRN) // (
#define CZ_DQUO S(CZ_URNG) // "
#define CZ_EXLM S(CZ_SECT) // !
#define CZ_GRV  S(CZ_DIAE) // `
#define CZ_PIPE S(CZ_BSLS) // |
#define CZ_QUES S(CZ_COMM) // ?
#define CZ_COLN S(CZ_DOT)  // :
#define CZ_UNDS S(CZ_MINS) // _
#define CZ_LTEQ A(CZ_LABK) // ≤
#define CZ_BTCK A(CZ_PLUS) // `
#define CZ_AT   A(CZ_ECAR) // @
#define CZ_HASH A(CZ_SCAR) // #
#define CZ_DLR  A(CZ_CCAR) // $
#define CZ_TILD A(CZ_RCAR) // ~
#define CZ_CIRC A(CZ_ZCAR) // ^
#define CZ_AMPR A(CZ_YACU) // &
#define CZ_ASTR A(CZ_AACU) // *
#define CZ_LCBR A(CZ_IACU) // {
#define CZ_RCBR A(CZ_EACU) // }
#define CZ_RNGA A(CZ_EQL)  // ° (dead)
#define CZ_HAT  A(CZ_ACUT) // ^ (dead)
#define CZ_EDOT A(CZ_W)    // ė
#define CZ_EOGO A(CZ_E)    // ę
#define CZ_EURO A(CZ_R)    // €
#define CZ_LBRC A(CZ_UACU) // [
#define CZ_RBRC A(CZ_RPRN) // ]
#define CZ_AOGO A(CZ_A)    // ą
#define CZ_SS   A(CZ_S)    // ß
#define CZ_PDIF A(CZ_D)    // ∂
#define CZ_LSQU A(CZ_H)    // ‘
#define CZ_RSQU A(CZ_J)    // ’
#define CZ_LLST A(CZ_L)    // ł
#define CZ_SCLN A(CZ_URNG) // ;
#define CZ_QUOT A(CZ_SECT) // '
#define CZ_DIAC A(CZ_DIAE) // ¨ (dead)
#define CZ_COMA A(CZ_N)    // ‚
#define CZ_LTHN A(CZ_COMM) // <
#define CZ_GTHN A(CZ_DOT)  // >
#define CZ_NDSH A(CZ_MINS) // –
#define CZ_GREQ S(A(CZ_LABK)) // ≥
#define CZ_NOT  S(A(CZ_1))    // ¬
#define CZ_BULT S(A(CZ_2))    // •
#define CZ_NEQL S(A(CZ_3))    // ≠
#define CZ_PND  S(A(CZ_4))    // £
#define CZ_LOZN S(A(CZ_5))    // ◊
#define CZ_DAGG S(A(CZ_6))    // †
#define CZ_PARA S(A(CZ_7))    // ¶
#define CZ_DIV  S(A(CZ_8))    // ÷
#define CZ_LDAQ S(A(CZ_9))    // «
#define CZ_RDAQ S(A(CZ_0))    // »
#define CZ_CMA  S(A(CZ_EQL))  // , (dead)
#define CZ_DHPN S(A(CZ_ACUT)) // - (dead)
#define CZ_CEDT S(A(CZ_W))    // Ė
#define CZ_CEOG S(A(CZ_E))    // Ę
#define CZ_REGD S(A(CZ_R))    // ®
#define CZ_TM   S(A(CZ_T))    // ™
#define CZ_ZDOT S(A(CZ_Z))    // Ż
#define CZ_LSAQ S(A(CZ_UACU)) // ‹
#define CZ_RSAQ S(A(CZ_RPRN)) // ›
#define CZ_NARS S(A(CZ_S))    // ∑
#define CZ_LDQU S(A(CZ_H))    // “
#define CZ_RDQU S(A(CZ_J))    // ”
#define CZ_CLST S(A(CZ_L))    // Ł
#define CZ_ELLP S(A(CZ_URNG)) // …
#define CZ_DTIL S(A(CZ_SECT)) // ~ (dead)
#define CZ_DDQT S(A(CZ_DIAE)) // " (dead)
#define CZ_COPY S(A(CZ_C))    // ©
#define CZ_SQRT S(A(CZ_V))    // √
#define CZ_DLQU S(A(CZ_N))    // „
#define CZ_LEQ  S(A(CZ_COMM)) // ≤
#define CZ_GEQ  S(A(CZ_DOT))  // ≥
#define CZ_MDSH S(A(CZ_MINS)) // —

@fauxpark
Copy link
Member

fauxpark commented Apr 3, 2024

QMK provides both ANSI and ISO aliases, for example:
https://github.com/qmk/qmk_firmware/blob/master/data/constants/keycodes/extras/keycodes_italian_mac_ansi_0.0.1.hjson
https://github.com/qmk/qmk_firmware/blob/master/data/constants/keycodes/extras/keycodes_italian_mac_iso_0.0.1.hjson
I recommend looking at these as a jumping off point for new files as many of the Option/Shift+Option keys are the same, if maybe shuffled around sometimes. Also of note, only the first instance of a key should be defined if there are duplicates.

You can change the keyboard type at any time in the macOS keyboard settings, you just have to make sure the board you want to configure is "focused" by typing on it. In the case of boards with non-standard layouts such as the Corne, it can really be whichever one you want.

@Tabonx
Copy link
Contributor Author

Tabonx commented Apr 3, 2024

Two methods are available to produce the symbols <, >, , and . One using the buttons to 1, while the other using the KC_COMM and KC_DOT. Should I include only one of these methods?

@fauxpark
Copy link
Member

fauxpark commented Apr 3, 2024

Usually I'd say prefer the first instance from left to right, top to bottom, least modified to most, but considering the angle brackets are pretty typically located on the ,. keys, that is probably better than using KC_GRV.

whoisjordangarcia pushed a commit to whoisjordangarcia/qmk_firmware that referenced this issue Jun 8, 2024
j4ckofalltrades pushed a commit to j4ckofalltrades/qmk_firmware that referenced this issue Jun 25, 2024
* [Keyboard] Add MECHWILD BB65 (#23581)

Co-authored-by: jack <[email protected]>
Co-authored-by: Duncan Sutherland <[email protected]>

* [Keyboard] Add SIRIND TOMAK (#23554)

Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: jack <[email protected]>
Co-authored-by: Less/Rikki <[email protected]>

* [Keyboard] add jaykeeb jk65 (#23536)

* [Keyboard] Fatotesa - custom asymmetric split keyboard  (#23528)

Co-authored-by: jack <[email protected]>

* [Keyboard] Vault35 WKL universal (#23519)

* Add ScottoWing keyboard (#23513)

Co-authored-by: jack <[email protected]>

* MechKeys ACR60 Layout Updates (#23309)

* Uniform ISO Enter key sequence in JIS Community Layouts (#23181)

* Add EC Virgo (#23173)

Co-authored-by: jack <[email protected]>

* Add EC Type-B (#23170)

* Add EC TKL (#23177)

* Add EC660C (#23171)

* Add EC Dolice (#23178)

* Add EC Vero (#23176)

* Add EC Menhir (#23175)

* Add Chroma Support (#22889)

Co-authored-by: Duncan Sutherland <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

* Add EC980C (#23172)

* Align 'qmk lint' argument handling (#23297)

* [Keyboard] 3x3macropad (#23594)

Co-authored-by: jack <[email protected]>
Co-authored-by: Duncan Sutherland <[email protected]>

* Refactoring successive press() -> release() calls (#23573)

* [Keyboard] Add imi60 (#23570)

Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] add Bruce the keyboard (#23639)

* [Keyboard] Add skiller_sgk50_s4 keyboard (#23636)

Co-authored-by: wb <[email protected]>
Co-authored-by: jack <[email protected]>
Co-authored-by: Duncan Sutherland <[email protected]>

* [Keyboard] Add DK Saver Redux (#23510)

* Epomaker Tide 65: Layout Data Cleanup (#23643)

* [Keyboard] Add N87 (#23457)

* Add MacOS Czech ISO and ANSI keymaps #23346 (#23412)

* refactor: mechwild/waka60 (#23423)

* add Bruce le Clavier (#23640)

* add tkl_(ansi|iso)_wkl* community layouts (#21809)

* update layouts/default/readme.md

* add tkl_wkl layouts to layouts/default

* amend layouts/default/readme.md

* `tsangan_wkl` to `wkl`

* Update readme.md

* update keymap.c

* local testing corrections applied

* add layouts/community readmes

* minor text correction(s)

* Apply suggestions from code review

* further copyright header changes

* Remove 60_ansi_arrow_split_bs_7u_spc Community Layout (#23259)

* add 60_iso_arrow and arrow_split_bs Community Layouts (#22556)

* Convert some AVR GPIO operations to macros (#23424)

* N86: Layout Data Correction (#23644)

* Correct `LAYOUT_all` data

Corrects incorrect key sizes and positioning.

* Correct `LAYOUT_tkl_ansi_tsangan` data

Corrects incorrect matrix assignments on the bottom row.

* Correct `LAYOUT_tkl_ansi_tsangan_split_bs_rshift` data

Corrects incorrect matrix assignments on the bottom row.

* Set `LAYOUT_all` as an alias

Sets `LAYOUT_all` as an alias for
`LAYOUT_tkl_ansi_tsangan_split_bs_rshift`, because the layout and matrix
data for these two macros is identical.

* clangd enhancements. (#23310)

* [Keyboard] NK Classic TKL (#23435)

* First commit

* Fix keycode range and color on indicator

* bit of cleanup

* prettify

* Update keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/novelkeys/nk_classic_tkl/info.json

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/novelkeys/nk_classic_tkl/info.json

Co-authored-by: Joel Challis <[email protected]>

* readme fix

---------

Co-authored-by: yiancar <[email protected]>
Co-authored-by: Joel Challis <[email protected]>

* [Keyboard] Add Petrichor Keyboard (#23413)

Co-authored-by: jack <[email protected]>

* Tomak: Layout Data Correction (#23649)

Corrects the key size and positioning for position [8, 7] on all
layouts.

* ZSA Voyager Layout Fix (#23651)

* Update GPIO API usage in keyboard code (#23361)

* Migrate build target markers to keyboard.json - Misc (#23653)

* xiudi/xd75 - Fix backlight compilation issues (#23655)

* Add new set of keycodes for RGB Matrix (#23463)

* Fix iris via keymap (#23652)

* refactor: mechwild/bbs (#23373)

* Add support for Smart 68 keyboard (#23043)

* split_util: rename `usbIsActive` to `usb_bus_detected` (#23657)

split_util: rename usbIsActive to usb_bus_detected

This follows the style rules and better reflects the intent.

Signed-off-by: Stefan Kerkmann <[email protected]>

* Add page for capabilties used by docs site. (#23428)

* Reworked CI builds for `master`/`develop`. (#23182)

* Bump geekyeggo/delete-artifact from 4 to 5 (#23674)

Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 4 to 5.
- [Release notes](https://github.com/geekyeggo/delete-artifact/releases)
- [Changelog](https://github.com/GeekyEggo/delete-artifact/blob/main/CHANGELOG.md)
- [Commits](https://github.com/geekyeggo/delete-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: geekyeggo/delete-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [CI] Allow secrets to propagate from parent to child workflow. (#23675)

* [CI] Use existing repo variables instead (#23676)

* Normalise RGBLight (underglow) keycodes (#23656)

* [CI] Fail workflow if there were build failures (#23678)

More whack-a-mole

* add example for c2json command (#23061)

* Remove redundant keymap templates (#23685)

* Remove 'split.transport.protocol=serial_usart' (#23668)

* `qmk find`: Fix typo in filter logging (#23693)

* Align RGBKB keyboards to current standards (#23663)

* Adjust keycode alignment around `QK_BOOT` (#23697)

* Add embed to docs capabilities (#23698)

* [Doc] Revise squeezing AVR (#23665)

* Note AVR's flash space
* Include guards for magic functions
* Remove mention of silicon shortage
* Demote an unavailable controller

* Change all RGB mode keycodes to short aliases (#23691)

* [Bug][Keyboard] Fix encoder resolution issue with Binepad BNK9 (#23707)

* Add housekeeping execution to unit tests (#22999)

* Fix for RGB color override and brightness for EC Type K (#23703)

Fix for RGB color override and brightness

* [CLI] Fixup return code for `qmk userspace-compile`. (#23720)

* Fix mapping of GUI/ALT for Win/Mac layers (#22662)

* [Keyboard] Add cycle7 (#23290)

* Add files via upload

* Update keyboards/vertex/cycle7/readme.md

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/mcuconf.h

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/halconf.h

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/keymaps/default/keymap.c

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/keymaps/via/keymap.c

Co-authored-by: Less/Rikki <[email protected]>

* Update keyboards/vertex/cycle7/config.h

Co-authored-by: Less/Rikki <[email protected]>

* Add files via upload

* Update info.json

* Add files via upload

* Update keyboards/vertex/cycle7/keymaps/default/keymap.c

Co-authored-by: Duncan Sutherland <[email protected]>

* Update keyboards/vertex/cycle7/keymaps/via/keymap.c

Co-authored-by: Duncan Sutherland <[email protected]>

* Update keyboards/vertex/cycle7/keymaps/via/keymap.c

Co-authored-by: Duncan Sutherland <[email protected]>

* Update keyboards/vertex/cycle7/keymaps/default/keymap.c

Co-authored-by: Duncan Sutherland <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Duncan Sutherland <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Duncan Sutherland <[email protected]>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Duncan Sutherland <[email protected]>

---------

Co-authored-by: Less/Rikki <[email protected]>
Co-authored-by: Duncan Sutherland <[email protected]>

* Remove useless `LED/RGB_MATRIX_ENABLE` ifdefs (#23726)

* Resolve home directory in userspace config (#23730)

* Force CPI update using timer when using split pointing. (#23545)

* Delete trivial keymap readmes (#23714)

* Miscellaneous Data-Driven Keyboard Conversions (#23712)

Converts `rules.mk` entries to data-driven where applicable.

Affects:

  - `handwired/dygma/raise/ansi`
  - `handwired/dygma/raise/iso`
  - `handwired/symmetric70_proto/promicro`
  - `handwired/symmetric70_proto/proton_c`
  - `lazydesigners/dimple/ortho`
  - `lazydesigners/dimple/staggered/rev2`
  - `lazydesigners/dimple/staggered/rev3`
  - `sirius/uni660/rev2/ansi`
  - `sirius/uni660/rev2/iso`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: 0-9 (#23716)

Affects:

  - `0_sixty`
  - `1upkeyboards/pi40`
  - `1upkeyboards/pi50`
  - `40percentclub/gherkin`
  - `4pplet/perk60_iso/rev_a`

* [Keyboard] Add Irispad (#23724)

* Add Irispad

* Fix x positions for RGB LEDs

* Add encoder/bootmagic settings in info.json and run format-json

* Add missing info.json

* Fix README formatting

* [Keyboard] Add h4ckb0ard (#23717)

* adds h4ckb0ard

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <[email protected]>

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <[email protected]>

* Update info.json

updating flags to indicate backlighting

* Update info.json

reduces max brightness to 100

* Delete keyboards/rot13labs/h4ckb0ard/config.h

removes this since its not needed anymore

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: jack <[email protected]>

* Update keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c

Co-authored-by: jack <[email protected]>

* Update keyboards/rot13labs/h4ckb0ard/keymaps/default/keymap.c

Co-authored-by: jack <[email protected]>

---------

Co-authored-by: c0ldbru <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: jack <[email protected]>

* Add media key support to Riot Pad (#23719)

* Insert delay between shifted chars in send_string_with_delay for AVR (#23673)

* [Doc] Reference advance keycodes in combos (#23666)

* Add sleepy_craft_studios sleepy_keeb (#23659)

Co-authored-by: Duncan Sutherland <[email protected]>

* Add via support for craftwalk  (#23658)

Co-authored-by: Less/Rikki <[email protected]>

* [Keyboard] Adding TX_Roundup_Pad PCB (#23526)

Co-authored-by: jack <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

* macOS install script: remove `brew upgrade --ignore-pinned` (#23735)

* [Keyboard] Add Projectd 75 iso (#21942)

Co-authored-by: Ryan <[email protected]>
Co-authored-by: gksygithub <[email protected]>

* KB name change to Part.1-75-HS (#23403)

* Remove RGB keycodes from boards with no RGB config (#23709)

* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 1 (#23749)

Affects:

  - `dailycraft/owl8`
  - `dailycraft/sandbox/rev1`
  - `dailycraft/sandbox/rev2`
  - `dailycraft/stickey4`
  - `dailycraft/wings42/rev1`
  - `dailycraft/wings42/rev1_extkeys`
  - `dailycraft/wings42/rev2`
  - `daji/seis_cinco`
  - `dark/magnum_ergo_1`
  - `darkproject/kd83a_bfg_edition`
  - `darkproject/kd87a_bfg_edition`
  - `dc01/arrow`
  - `dc01/left`
  - `dc01/numpad`
  - `dc01/right`
  - `dcpedit/redherring`
  - `delikeeb/flatbread60`
  - `delikeeb/vaguettelite`
  - `delikeeb/vanana/rev1`
  - `delikeeb/vanana/rev2`
  - `delikeeb/vaneela`
  - `delikeeb/vaneelaex`
  - `delikeeb/waaffle/rev3/elite_c`
  - `delikeeb/waaffle/rev3/pro_micro`
  - `deltapad`
  - `deltasplit75/v2`
  - `dk60`
  - `dm9records/lain`
  - `dm9records/plaid`
  - `dm9records/tartan`
  - `dmqdesign/spin`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: D, Part 2 (#23750)

Affects:

  - `do60`
  - `doio/kb30`
  - `donutcables/scrabblepad`
  - `doppelganger`
  - `doro67/rgb`
  - `dotmod/dymium65`
  - `draytronics/daisy`
  - `draytronics/elise`
  - `draytronics/elise_v2`
  - `drewkeys/iskar`
  - `drhigsby/bkf`
  - `drhigsby/dubba175`
  - `drhigsby/ogurec`
  - `drhigsby/packrat`
  - `dtisaac/cg108`
  - `dumbo`
  - `dz60`
  - `dztech/bocc`
  - `dztech/duo_s`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: E (#23751)

Affects:

  - `e88`
  - `ealdin/quadrant`
  - `earth_rover`
  - `eco`
  - `edc40`
  - `edi/standaside`
  - `eek`
  - `ein_60`
  - `eniigmakeyboards/ek65`
  - `eniigmakeyboards/ek87`
  - `ep/96`
  - `ep/comsn/hs68`
  - `ep/comsn/mollydooker`
  - `ep/comsn/tf_longeboye`
  - `ergodox_ez`
  - `ergotravel/rev1`
  - `eternal_keypad`
  - `evil80`
  - `evolv`
  - `evyd13/atom47/rev2`
  - `evyd13/atom47/rev5`
  - `evyd13/eon65`
  - `evyd13/eon75`
  - `evyd13/eon87`
  - `evyd13/eon95`
  - `evyd13/gh80_1800`
  - `evyd13/gh80_3700`
  - `evyd13/minitomic`
  - `evyd13/mx5160`
  - `evyd13/nt750`
  - `evyd13/nt980`
  - `evyd13/omrontkl`
  - `evyd13/quackfire`
  - `evyd13/solheim68`
  - `evyd13/ta65`
  - `evyd13/wasdat_code`
  - `exclusive/e65`
  - `exclusive/e7v1`
  - `exclusive/e7v1se`
  - `exclusive/e85/hotswap`
  - `exclusive/e85/soldered`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 3 (#23747)

Affects:

  - `ck60i`
  - `coarse/cordillera`
  - `contender`
  - `converter/a1200/mistress1200`
  - `converter/adb_usb`
  - `converter/m0110_usb`
  - `converter/siemens_tastatur`
  - `cool836a`
  - `copenhagen_click/click_pad_v1`
  - `coseyfannitutti/discipad`
  - `coseyfannitutti/discipline`
  - `coseyfannitutti/mysterium`
  - `coseyfannitutti/romeo`
  - `cozykeys/bloomer`
  - `cozykeys/speedo/v2`
  - `cozykeys/speedo/v3`
  - `craftwalk`
  - `crawlpad`
  - `crazy_keyboard_68`
  - `crbn`
  - `creatkeebs/glacier`
  - `crimsonkeyboards/resume1800`
  - `crin`
  - `cutie_club/borsdorf`
  - `cutie_club/fidelity`
  - `cutie_club/giant_macro_pad`
  - `cutie_club/keebcats/denis`
  - `cutie_club/keebcats/dougal`
  - `cutie_club/novus`
  - `cutie_club/wraith`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 2 (#23746)

Affects:

  - `chalice`
  - `charue/sunsetter_r2`
  - `checkerboards/axon40`
  - `checkerboards/candybar_ortho`
  - `checkerboards/g_idb60`
  - `checkerboards/nop60`
  - `checkerboards/phoenix45_ortho`
  - `checkerboards/plexus75`
  - `checkerboards/plexus75_he`
  - `checkerboards/pursuit40`
  - `checkerboards/quark`
  - `checkerboards/quark_lp`
  - `checkerboards/quark_plus`
  - `checkerboards/quark_squared`
  - `checkerboards/snop60`
  - `checkerboards/ud40_ortho_alt`
  - `cheshire/curiosity`
  - `chickenman/ciel`
  - `chlx/merro60`
  - `chlx/str_merro60`
  - `chosfox/cf81`
  - `citrus/erdnuss65`
  - `ckeys/handwire_101`
  - `ckeys/nakey`
  - `ckeys/obelus`
  - `ckeys/thedora`
  - `ckeys/washington`
  - `clueboard/2x1800/2018`
  - `clueboard/2x1800/2021`

* Bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1 (#23752)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Migrate `LOCKING_*_ENABLE` to Data-Driven: A-C, Part 1 (#23745)

Affects:

  - `atreus`
  - `cablecardesigns/cypher/rev6`
  - `caffeinated/serpent65`
  - `cannonkeys/adelie`
  - `cannonkeys/aella`
  - `cannonkeys/an_c`
  - `cannonkeys/atlas`
  - `cannonkeys/atlas_alps`
  - `cannonkeys/balance`
  - `cannonkeys/brutalv2_65`
  - `cannonkeys/chimera65`
  - `cannonkeys/cloudline`
  - `cannonkeys/crin`
  - `cannonkeys/db60`
  - `cannonkeys/devastatingtkl`
  - `cannonkeys/gentoo`
  - `cannonkeys/gentoo_hs`
  - `cannonkeys/hoodrowg`
  - `cannonkeys/instant60`
  - `cannonkeys/instant65`
  - `cannonkeys/iron165`
  - `cannonkeys/malicious_ergo`
  - `cannonkeys/obliterated75`
  - `cannonkeys/onyx`
  - `cannonkeys/ortho48`
  - `cannonkeys/ortho60`
  - `cannonkeys/ortho75`
  - `cannonkeys/practice60`
  - `cannonkeys/practice65`
  - `cannonkeys/rekt1800`
  - `cannonkeys/ripple`
  - `cannonkeys/sagittarius`
  - `cannonkeys/satisfaction75`
  - `cannonkeys/savage65`
  - `cannonkeys/tmov2`
  - `cannonkeys/tsukuyomi`
  - `cannonkeys/vicious40`
  - `capsunlocked/cu24`
  - `capsunlocked/cu65`
  - `capsunlocked/cu7`
  - `capsunlocked/cu75`
  - `capsunlocked/cu80/v1`

* Fix PS/2 Trackpoint mouse clicks (#22265) (#23694)

* Add moky67 keyboard (#23118)

* Add second encoder to matrix info of arrowmechanics/wings (#23390)

* Add Meow65 (#23427)

* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 1 (#23759)

Affects:

  - `h0oni/deskpad`
  - `h0oni/hotduck`
  - `halfcliff`
  - `halokeys/elemental75`
  - `han60`
  - `hardlineworks/otd_plus`
  - `helix/rev3_4rows`
  - `helix/rev3_5rows`
  - `hfdkb/ac001`
  - `hidtech/bastyl`
  - `hineybush/h08_ocelot`
  - `hineybush/h10`
  - `hineybush/h60`
  - `hineybush/h65`
  - `hineybush/h65_hotswap`
  - `hineybush/h660s`
  - `hineybush/h75_singa`
  - `hineybush/h87a`
  - `hineybush/h88`
  - `hineybush/hbcp`
  - `hineybush/hineyg80`
  - `hineybush/physix`
  - `hineybush/sm68`
  - `hnahkb/freyr`
  - `hnahkb/stella`
  - `hnahkb/vn66`
  - `horizon`
  - `hotdox`
  - `hs60/v1`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: G (#23758)

Affects:

  - `gboards/ergotaco`
  - `gboards/georgi`
  - `gboards/gergo`
  - `geekboards/tester`
  - `geonworks/frogmini/fmh`
  - `geonworks/frogmini/fms`
  - `gh60/revc`
  - `gh60/satan`
  - `ghs/rar`
  - `gkeyboard/gkb_m16`
  - `gkeyboard/gpad8_2r`
  - `gl516/a52gl`
  - `gl516/j73gl`
  - `gl516/n51gl`
  - `gmmk/gmmk2/p65`
  - `gmmk/gmmk2/p96`
  - `gmmk/numpad`
  - `gmmk/pro`
  - `gon/nerd60`
  - `gon/nerdtkl`
  - `gray_studio/aero75`
  - `gray_studio/cod67`
  - `gray_studio/space65`
  - `gray_studio/space65r3`
  - `gray_studio/think65v3`
  - `grid600/press`

* Move VIA config to keymap level (#23754)

* Remove includes of config.h (#23760)

* Migrate `LOCKING_*_ENABLE` to Data-Driven: F (#23757)

Affects:

  - `fallacy`
  - `ffkeebs/puca`
  - `fjlabs/7vhotswap`
  - `fjlabs/ad65`
  - `fjlabs/avalon`
  - `fjlabs/bks65`
  - `fjlabs/bks65solder`
  - `fjlabs/bolsa65`
  - `fjlabs/kf87`
  - `fjlabs/kyuu`
  - `fjlabs/ldk65`
  - `fjlabs/midway60`
  - `fjlabs/mk61rgbansi`
  - `fjlabs/peaker`
  - `fjlabs/polaris`
  - `fjlabs/ready100`
  - `fjlabs/sinanju`
  - `fjlabs/sinanjuwk`
  - `fjlabs/solanis`
  - `fjlabs/swordfish`
  - `fjlabs/tf60ansi`
  - `fjlabs/tf60v2`
  - `fjlabs/tf65rgbv2`
  - `flehrad/downbubble`
  - `flehrad/numbrero`
  - `flehrad/snagpad`
  - `flehrad/tradestation`
  - `fleuron`
  - `fluorite`
  - `flx/lodestone`
  - `flxlb/zplit`
  - `foostan/cornelius`
  - `forever65`
  - `fortitude60/rev1`
  - `foxlab/key65/hotswap`
  - `foxlab/key65/universal`
  - `foxlab/leaf60/hotswap`
  - `foxlab/leaf60/universal`
  - `foxlab/time80`
  - `fr4/southpaw75`
  - `fractal`
  - `fungo/rev1`
  - `funky40`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 4 (#23764)

Affects:

  - `handwired/reclined`
  - `handwired/retro_refit`
  - `handwired/selene`
  - `handwired/sick68`
  - `handwired/sick_pad`
  - `handwired/skakunm_dactyl`
  - `handwired/slash`
  - `handwired/snatchpad`
  - `handwired/sono1`
  - `handwired/space_oddity`
  - `handwired/split89`
  - `handwired/split_cloud`
  - `handwired/steamvan/rev1`
  - `handwired/sticc14`
  - `handwired/stream_cheap/2x3`
  - `handwired/stream_cheap/2x4`
  - `handwired/stream_cheap/2x5`
  - `handwired/symmetric70_proto/promicro`
  - `handwired/symmetric70_proto/proton_c`
  - `handwired/symmetry60`
  - `handwired/tennie`
  - `handwired/terminus_mini`
  - `handwired/trackpoint`
  - `handwired/tritium_numpad`
  - `handwired/twadlee/tp69`
  - `handwired/unk/rev1`
  - `handwired/uthol/rev3`
  - `handwired/videowriter`
  - `handwired/wabi`
  - `handwired/woodpad`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 3 (#23763)

Affects:

  - `handwired/jn68m`
  - `handwired/jopr`
  - `handwired/jot50`
  - `handwired/jotanck`
  - `handwired/jotpad16`
  - `handwired/jtallbean/split_65`
  - `handwired/juliet`
  - `handwired/k_numpad17`
  - `handwired/kbod`
  - `handwired/ks63`
  - `handwired/leftynumpad`
  - `handwired/lemonpad`
  - `handwired/m40/5x5_macropad`
  - `handwired/macroboard/f401`
  - `handwired/macroboard/f411`
  - `handwired/magicforce61`
  - `handwired/magicforce68`
  - `handwired/mechboards_micropad`
  - `handwired/minorca`
  - `handwired/mutepad`
  - `handwired/nicekey`
  - `handwired/nortontechpad`
  - `handwired/not_so_minidox`
  - `handwired/novem`
  - `handwired/nozbe_macro`
  - `handwired/numpad20`
  - `handwired/obuwunkunubi/spaget`
  - `handwired/oem_ansi_fullsize`
  - `handwired/onekey`
  - `handwired/ortho5x13`
  - `handwired/ortho5x14`
  - `handwired/p65rgb`
  - `handwired/pilcrow`
  - `handwired/polly40`
  - `handwired/postageboard/mini`
  - `handwired/postageboard/r1`
  - `handwired/prime_exl`
  - `handwired/prime_exl_plus`

* Fix font artefact on Reverb keyboard.  (#23761)

* Added MATRIX_HAS_GHOST definition for IBM Model H controller (#23744)

* Migrate `LOCKING_*_ENABLE` to Data-Driven: H, Part 2 (#23762)

Affects:

  - `handwired/108key_trackpoint`
  - `handwired/2x5keypad`
  - `handwired/3dp660`
  - `handwired/412_64`
  - `handwired/42`
  - `handwired/amigopunk`
  - `handwired/aranck`
  - `handwired/atreus50`
  - `handwired/axon`
  - `handwired/battleship_gamepad`
  - `handwired/bdn9_ble`
  - `handwired/bento/rev1`
  - `handwired/bolek`
  - `handwired/brain`
  - `handwired/bstk100`
  - `handwired/cans12er`
  - `handwired/chiron`
  - `handwired/ck4x4`
  - `handwired/cmd60`
  - `handwired/co60/rev6`
  - `handwired/co60/rev7`
  - `handwired/colorlice`
  - `handwired/curiosity`
  - `handwired/dactyl_left`
  - `handwired/dactyl_manuform/4x5`
  - `handwired/dactyl_manuform/4x5_5`
  - `handwired/dactyl_manuform/4x6`
  - `handwired/dactyl_manuform/4x6_4_3`
  - `handwired/dactyl_manuform/4x6_5`
  - `handwired/dactyl_manuform/5x6`
  - `handwired/dactyl_manuform/5x6_2_5`
  - `handwired/dactyl_manuform/5x6_5`
  - `handwired/dactyl_manuform/5x6_6`
  - `handwired/dactyl_manuform/5x6_68`
  - `handwired/dactyl_manuform/5x7`
  - `handwired/dactyl_manuform/6x6/blackpill_f411`
  - `handwired/dactyl_manuform/6x6/promicro`
  - `handwired/dactyl_manuform/6x6_4`
  - `handwired/dactyl_manuform/6x7`
  - `handwired/dactyl_promicro`
  - `handwired/dactyl_rah`
  - `handwired/datahand`
  - `handwired/evk/v1_3`
  - `handwired/fc200rt_qmk`
  - `handwired/fivethirteen`
  - `handwired/floorboard`
  - `handwired/fruity60`
  - `handwired/gamenum`
  - `handwired/hacked_motospeed`
  - `handwired/heisenberg`
  - `handwired/hnah40`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 2 (#23773)

Affects:

  - `mkh_studio/bully`
  - `mlego/m48/rev1`
  - `mlego/m60/rev1`
  - `mlego/m60_split/rev1`
  - `mlego/m60_split/rev2`
  - `mntre`
  - `mode/m65ha_alpha`
  - `mode/m65hi_alpha`
  - `mode/m65s`
  - `mode/m80v1/m80h`
  - `mode/m80v1/m80s`
  - `mode/m80v2/m80v2h`
  - `mode/m80v2/m80v2s`
  - `molecule`
  - `momoka_ergo`
  - `monarch`
  - `monsgeek/m1`
  - `monsgeek/m3`
  - `monsgeek/m5`
  - `monsgeek/m6`
  - `monstargear/xo87/rgb`
  - `monstargear/xo87/solderable`
  - `montsinger/rebound/rev1`
  - `montsinger/rebound/rev2`
  - `montsinger/rebound/rev3`
  - `montsinger/rebound/rev4`
  - `montsinger/rewind`
  - `moon`
  - `morizon`
  - `mountainblocks/mb17`
  - `mt/blocked65`
  - `mt/mt64rgb`
  - `mt/mt980`
  - `mtbkeys/mtb60/hotswap`
  - `mtbkeys/mtb60/solder`
  - `murcielago/rev1`
  - `mxss`
  - `mysticworks/wyvern`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: L (#23771)

Affects:

  - `labbe/labbeminiv1`
  - `labyrinth75`
  - `laneware/lpad`
  - `laneware/lw67`
  - `laneware/lw75`
  - `laneware/macro1`
  - `laneware/raindrop`
  - `laser_ninja/pumpkinpad`
  - `latincompass/latin47ble`
  - `lazydesigners/dimple/ortho`
  - `lazydesigners/dimple/staggered/rev1`
  - `lazydesigners/dimple/staggered/rev2`
  - `lazydesigners/dimple/staggered/rev3`
  - `lazydesigners/dimple`
  - `lazydesigners/the50`
  - `lazydesigners/the60/rev1`
  - `lets_split/rev1`
  - `lets_split/rev2`
  - `lfkeyboards/lfk65_hs`
  - `lfkeyboards/lfk78/revb`
  - `lfkeyboards/lfk78/revc`
  - `lfkeyboards/lfk78/revj`
  - `lfkeyboards/lfk87/reva`
  - `lfkeyboards/lfk87/revc`
  - `lfkeyboards/lfkpad`
  - `lfkeyboards/mini1800/reva`
  - `lfkeyboards/mini1800/revc`
  - `lfkeyboards/smk65/revb`
  - `lfkeyboards/smk65/revf`
  - `linworks/fave60`
  - `lizard_trick/tenkey_plusplus`
  - `lm_keyboard/lm60n`
  - `lucid/alexa`
  - `lucid/alexa_solder`
  - `lucid/kbd8x_hs`
  - `lucid/phantom_hs`
  - `lucid/phantom_solder`
  - `lucid/scarlet`
  - `lyso1/lck75`
  - `lyso1/lefishe`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: I-J (#23767)

Affects:

  - `ianklug/grooveboard`
  - `ibm/model_m/modelh`
  - `ibm/model_m_122/ibm122m`
  - `ibnuda/gurindam`
  - `idb/idb_60`
  - `idobao/id75/v1`
  - `idobao/id75/v2`
  - `idobao/id96`
  - `idobao/montex/v1`
  - `illuminati/is0`
  - `illusion/rosa`
  - `ilumkb/primus75`
  - `ilumkb/volcano660`
  - `inland/kb83`
  - `input_club/ergodox_infinity`
  - `irene`
  - `iriskeyboards`
  - `iron180`
  - `jacky_studio/bear_65/rev1`
  - `jacky_studio/bear_65/rev2`
  - `jacky_studio/s7_elephant/rev1`
  - `jacky_studio/s7_elephant/rev2`
  - `jadookb/jkb65`
  - `jae/j01`
  - `jagdpietr/drakon`
  - `jd40`
  - `jd45`
  - `jels/boaty`
  - `jels/jels60/v1`
  - `jels/jels60/v2`
  - `jels/jels88`
  - `jolofsor/denial75`
  - `jorne/rev1`
  - `joshajohnson/hub16`
  - `joshajohnson/hub20`
  - `jukaie/jk01`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: N (#23774)

Affects:

  - `nacly/sodium42`
  - `nacly/sodium50`
  - `nacly/sodium62`
  - `nacly/splitreus62`
  - `nacly/ua62`
  - `nek_type_a`
  - `nemui`
  - `nibiria/stream15`
  - `nightingale_studios/hailey`
  - `nightly_boards/adellein`
  - `nightly_boards/alter/rev1`
  - `nightly_boards/alter_lite`
  - `nightly_boards/conde60`
  - `nightly_boards/daily60`
  - `nightly_boards/jisoo`
  - `nightly_boards/n2`
  - `nightly_boards/n40_o`
  - `nightly_boards/n60_s`
  - `nightly_boards/n87`
  - `nightly_boards/n9`
  - `nightly_boards/octopad`
  - `nightly_boards/octopadplus`
  - `nightly_boards/paraluman`
  - `nightly_boards/ph_arisu`
  - `nightmare`
  - `nimrod`
  - `nix_studio/oxalys80`
  - `nopunin10did/jabberwocky/v1`
  - `nopunin10did/jabberwocky/v2`
  - `nopunin10did/railroad/rev0`
  - `novelkeys/novelpad`
  - `noxary/220`
  - `noxary/260`
  - `noxary/268`
  - `noxary/268_2`
  - `noxary/268_2_rgb`
  - `noxary/280`
  - `noxary/378`
  - `noxary/valhalla`
  - `noxary/vulcan`
  - `noxary/x268`
  - `numatreus`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 1 (#23768)

Affects:

  - `kabedon/kabedon98e`
  - `kagizaraya/chidori`
  - `kagizaraya/halberd`
  - `kagizaraya/miniaxe`
  - `kagizaraya/scythe`
  - `kakunpc/angel17/alpha`
  - `kakunpc/angel17/rev1`
  - `kakunpc/angel64/alpha`
  - `kakunpc/angel64/rev1`
  - `kakunpc/business_card/alpha`
  - `kakunpc/business_card/beta`
  - `kakunpc/choc_taro`
  - `kakunpc/rabbit_capture_plan`
  - `kakunpc/suihankey/alpha`
  - `kakunpc/suihankey/rev1`
  - `kakunpc/suihankey/split/alpha`
  - `kakunpc/suihankey/split/rev1`
  - `kakunpc/thedogkeyboard`
  - `kapcave/arya`
  - `kapcave/gskt00`
  - `kapcave/paladin64`
  - `kapl/rev1`
  - `kb58`
  - `kb_elmo/aek2_usb`
  - `kb_elmo/m0110a_usb`
  - `kb_elmo/m0116_usb`
  - `kbdclack/kaishi65`
  - `kbdfans/bella/soldered`
  - `kbdfans/bounce/pad`
  - `kbdfans/jm60`
  - `kbdfans/kbd19x`
  - `kbdfans/kbd4x`
  - `kbdfans/kbd66`
  - `kbdfans/kbd67/hotswap`
  - `kbdfans/kbd67/mkii_soldered`
  - `kbdfans/kbd6x`
  - `kbdfans/kbd75/rev1`
  - `kbdfans/kbd75/rev2`
  - `kbdfans/kbd8x`
  - `kbdfans/kbd8x_mk2`
  - `kbdfans/kbdpad/mk2`
  - `kbdfans/maja_soldered`
  - `kbdfans/niu_mini`
  - `kbdfans/phaseone`
  - `kbdmania/kmac`
  - `kbdmania/kmac_pad`
  - `kc60`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: M, Part 1 (#23772)

Affects:

  - `m10a`
  - `machine_industries/m4_a`
  - `magic_force/mf34`
  - `majistic`
  - `makenova/omega/omega4`
  - `makrosu`
  - `manta60`
  - `maple_computing/christmas_tree/v2017`
  - `maple_computing/ivy/rev1`
  - `maple_computing/launchpad/rev1`
  - `maple_computing/minidox/rev1`
  - `maple_computing/the_ruler`
  - `marksard/leftover30`
  - `marksard/treadstone48/rev1`
  - `marksard/treadstone48/rev2`
  - `masterworks/classy_tkl/rev_a`
  - `maxipad`
  - `maxr1998/phoebe`
  - `mc_76k`
  - `mechkeys/acr60`
  - `mechkeys/alu84`
  - `mechkeys/espectro`
  - `mechkeys/mechmini/v2`
  - `mechkeys/mk60`
  - `mechlovin/hannah910/rev1`
  - `mechlovin/hannah910/rev2`
  - `mechlovin/hannah910/rev3`
  - `mechlovin/jay60`
  - `mechlovin/tmkl`
  - `mechwild/bde/lefty`
  - `mechwild/bde/rev2`
  - `mechwild/bde/righty`
  - `mechwild/mercutio`
  - `mechwild/mokulua/mirrored`
  - `mechwild/mokulua/standard`
  - `mechwild/murphpad`
  - `mechwild/obe`
  - `mechwild/puckbuddy`
  - `meletrix/zoom98`
  - `melgeek/mj6xy/rev3`
  - `meme`
  - `meow65`
  - `mesa/mesa_tkl`
  - `meson`
  - `mikeneko65`
  - `millipad`
  - `mini_elixivy`
  - `mini_ten_key_plus`
  - `minimon/index_tab`
  - `mint60`
  - `misonoworks/karina`
  - `miuni32`
  - `mixi`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 3 (#23770)

Affects:

  - `kindakeyboards/conone65`
  - `kinesis`
  - `kingly_keys/ave/ortho`
  - `kingly_keys/ave/staggered`
  - `kingly_keys/little_foot`
  - `kingly_keys/romac`
  - `kingly_keys/romac_plus`
  - `kingly_keys/ropro`
  - `kingly_keys/smd_milk`
  - `kingly_keys/soap`
  - `kira/kira75`
  - `kisakeyluxury/qtz`
  - `kiserdesigns/madeline`
  - `kiwikeebs/macro`
  - `kiwikeebs/macro_v2`
  - `kiwikey/borderland`
  - `kiwikey/kawii9`
  - `kiwikey/wanderland`
  - `kkatano/bakeneko60`
  - `kkatano/bakeneko65/rev2`
  - `kkatano/bakeneko65/rev3`
  - `kkatano/bakeneko80`
  - `kkatano/wallaby`
  - `kkatano/yurei`
  - `knops/mini`
  - `kona_classic`
  - `kopibeng/mnk60_stm32`
  - `kopibeng/mnk65`
  - `kopibeng/mnk65_stm32`
  - `kopibeng/mnk88`
  - `kopibeng/typ65`
  - `kopibeng/xt60`
  - `kopibeng/xt60_singa`
  - `kopibeng/xt65`
  - `kopibeng/xt8x`
  - `kprepublic/bm16s`
  - `kprepublic/bm40hsrgb/rev1`
  - `kprepublic/bm65hsrgb/rev1`
  - `kprepublic/bm68hsrgb/rev1`
  - `kprepublic/bm980hsrgb`
  - `kprepublic/cospad`
  - `ktec/daisy`
  - `kumaokobo/kudox/columner`
  - `kumaokobo/kudox/rev1`
  - `kumaokobo/kudox/rev2`
  - `kumaokobo/kudox/rev3`
  - `kumaokobo/kudox_full/rev1`
  - `kumaokobo/kudox_game/rev1`
  - `kumaokobo/kudox_game/rev2`
  - `kumaokobo/pico/65keys`
  - `kumaokobo/pico/70keys`
  - `kv/revt`
  - `kwub/bloop`
  - `ky01`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: K, Part 2 (#23769)

Affects:

  - `keebio/bamfk4`
  - `keebio/bdn9/rev1`
  - `keebio/bdn9/rev2`
  - `keebio/bfo9000`
  - `keebio/bigswitchseat`
  - `keebio/choconum`
  - `keebio/dilly`
  - `keebio/dsp40/rev1`
  - `keebio/ergodicity`
  - `keebio/foldkb/rev1`
  - `keebio/fourier`
  - `keebio/iris/rev1`
  - `keebio/iris/rev1_led`
  - `keebio/iris/rev2`
  - `keebio/iris/rev3`
  - `keebio/iris/rev4`
  - `keebio/kbo5000/rev1`
  - `keebio/levinson/rev1`
  - `keebio/levinson/rev2`
  - `keebio/levinson/rev3`
  - `keebio/nyquist/rev1`
  - `keebio/nyquist/rev2`
  - `keebio/nyquist/rev3`
  - `keebio/quefrency/rev1`
  - `keebio/quefrency/rev4`
  - `keebio/quefrency/rev5`
  - `keebio/rorschach/rev1`
  - `keebio/sinc/rev1`
  - `keebio/sinc/rev2`
  - `keebio/tragicforce68`
  - `keebio/tukey`
  - `keebio/viterbi/rev1`
  - `keebio/viterbi/rev2`
  - `keebio/wavelet`
  - `keebio/wtf60`
  - `keebsforall/coarse60`
  - `keebsforall/freebirdnp/lite`
  - `keebsforall/freebirdnp/pro`
  - `keebsforall/freebirdtkl`
  - `keebwerk/nano_slider`
  - `keebzdotnet/fme`
  - `keebzdotnet/wazowski`
  - `keyboardio/atreus`
  - `keycapsss/kimiko/rev1`
  - `keycapsss/o4l_5x12`
  - `keygem/kg60ansi`
  - `keygem/kg65rgbv2`
  - `keyhive/absinthe`
  - `keyhive/ergosaurus`
  - `keyhive/lattice60`
  - `keyhive/maypad`
  - `keyhive/navi10/rev0`
  - `keyhive/navi10/rev2`
  - `keyhive/navi10/rev3`
  - `keyhive/opus`
  - `keyhive/southpole`
  - `keyhive/ut472`
  - `keyprez/bison`
  - `keyprez/corgi`
  - `keyprez/rhino`
  - `keyprez/unicorn`
  - `keysofkings/twokey`
  - `keystonecaps/gameroyadvance`

* Remove some useless code from keymaps (#23787)

* Migrate `LOCKING_*_ENABLE` to Data-Driven: U-V (#23786)

Affects:

  - `uk78`
  - `ungodly/nines`
  - `unikeyboard/diverge3`
  - `unikeyboard/divergetm2`
  - `unikeyboard/felix`
  - `uranuma`
  - `utd80`
  - `v60_type_r`
  - `vagrant_10`
  - `viendi8l`
  - `viktus/at101_bh`
  - `viktus/omnikey_bh`
  - `viktus/smolka`
  - `viktus/sp111`
  - `viktus/styrka`
  - `viktus/z150_bh`
  - `vitamins_included/rev1`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: T (#23785)

Affects:

  - `takashicompany/center_enter`
  - `takashicompany/endzone34`
  - `takashicompany/qoolee`
  - `takashicompany/radialex`
  - `takashiski/namecard2x4/rev1`
  - `takashiski/namecard2x4/rev2`
  - `takashiski/otaku_split/rev0`
  - `takashiski/otaku_split/rev1`
  - `taleguers/taleguers75`
  - `tanuki`
  - `team0110/p1800fl`
  - `technika`
  - `tenki`
  - `tetris`
  - `tg4x`
  - `the_royal/liminal`
  - `the_royal/schwann`
  - `thevankeyboards/bananasplit`
  - `thevankeyboards/caravan`
  - `thevankeyboards/jetvan`
  - `thevankeyboards/minivan`
  - `thevankeyboards/roadkit`
  - `tkc/california`
  - `tkc/m0lly`
  - `tkc/tkc1800`
  - `tkc/tkl_ab87`
  - `tkw/stoutgat/v2`
  - `tmo50`
  - `toad`
  - `toffee_studio/blueberry`
  - `tokyokeyboard/alix40`
  - `tokyokeyboard/tokyo60`
  - `tominabox1/adalyn`
  - `tominabox1/le_chiffre`
  - `tominabox1/qaz`
  - `tr60w`
  - `treasure/type9`
  - `tszaboo/ortho4exent`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: O (#23778)

Affects:

  - `oddball`
  - `oddforge/vea`
  - `ok60`
  - `om60`
  - `omkbd/ergodash/mini`
  - `omkbd/ergodash/rev1`
  - `omkbd/runner3680/3x6`
  - `omkbd/runner3680/3x7`
  - `omkbd/runner3680/3x8`
  - `omkbd/runner3680/4x6`
  - `omkbd/runner3680/4x7`
  - `omkbd/runner3680/4x8`
  - `omkbd/runner3680/5x6`
  - `omkbd/runner3680/5x6_5x8`
  - `omkbd/runner3680/5x7`
  - `omkbd/runner3680/5x8`
  - `omnikeyish`
  - `orange75`
  - `org60`
  - `ortho5by12`
  - `orthocode`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 1 (#23779)

Affects:

  - `p3d/eu_isolation`
  - `p3d/glitch`
  - `p3d/q4z`
  - `p3d/synapse`
  - `p3d/tw40`
  - `panc40`
  - `papercranekeyboards/gerald65`
  - `parallel/parallel_65/hotswap`
  - `parallel/parallel_65/soldered`
  - `pdxkbc`
  - `pearlboards/atlas`
  - `pearlboards/pandora`
  - `pearlboards/pearl`
  - `pearlboards/zeus`
  - `pearlboards/zeuspad`
  - `pegasus`
  - `phantom`
  - `phoenix`
  - `picolab/frusta_fundamental`
  - `pimentoso/paddino02/rev1`
  - `pimentoso/paddino02/rev2/left`
  - `pimentoso/paddino02/rev2/right`
  - `pisces`
  - `pizzakeyboards/pizza65`
  - `pkb65`
  - `planck`
  - `playkbtw/ca66`
  - `playkbtw/pk60`
  - `playkbtw/pk64rgb`
  - `pluckey`
  - `plume/plume65`
  - `plywrks/ahgase`
  - `plywrks/lune`
  - `pohjolaworks/louhi`
  - `polycarbdiet/s20`
  - `pom_keyboards/tnln95`
  - `portal_66/hotswap`
  - `portal_66/soldered`
  - `pos78`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: P, Part 2 (#23780)

Affects:

  - `preonic/rev1`
  - `preonic/rev2`
  - `preonic/rev3`
  - `preonic/rev3_drop`
  - `primekb/meridian/ktr1010`
  - `primekb/meridian/ws2812`
  - `primekb/meridian_rgb`
  - `primekb/prime_m`
  - `primekb/prime_o`
  - `primekb/prime_r`
  - `projectcain/relic`
  - `projectcain/vault45`
  - `projectd/65/projectd_65_ansi`
  - `projectd/75/ansi`
  - `projectkb/alice/rev1`
  - `projectkb/alice/rev2`
  - `projectkb/signature65`
  - `projectkb/signature87`
  - `prototypist/allison`
  - `prototypist/allison_numpad`
  - `prototypist/j01`
  - `psuieee/pluto12`
  - `pteron36`
  - `puck`
  - `punk75`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 1 (#23788)

Affects:

  - `waldo`
  - `walletburner/cajal`
  - `walletburner/neuron`
  - `wavtype/foundation`
  - `wavtype/p01_ultra`
  - `weirdo/geminate60`
  - `weirdo/kelowna/rgb64`
  - `weirdo/ls_60`
  - `weirdo/naiping/np64`
  - `weirdo/naiping/nphhkb`
  - `weirdo/naiping/npminila`
  - `weirdo/tiger910`
  - `wekey/polaris`
  - `westfoxtrot/aanzee`
  - `westfoxtrot/cyclops`
  - `westfoxtrot/cypher/rev1`
  - `westfoxtrot/cypher/rev5`
  - `westfoxtrot/prophet`
  - `westm/westm9`
  - `westm/westm68`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: Q-R (#23781)

Affects:

  - `qpockets/space_space/rev1`
  - `qpockets/space_space/rev2`
  - `quad_h/lb75`
  - `quantrik/kyuu`
  - `qwertlekeys/calice`
  - `rabbit/rabbit68`
  - `rainkeebs/delilah`
  - `rainkeebs/rainkeeb`
  - `rainkeebs/yasui`
  - `rart/rart45`
  - `rart/rart4x4`
  - `rart/rart60`
  - `rart/rart67`
  - `rart/rart67m`
  - `rart/rart75`
  - `rart/rart75m`
  - `rart/rartand`
  - `rart/rartland`
  - `rart/rartlice`
  - `rart/rartlite`
  - `rart/rartpad`
  - `rate/pistachio/rev1`
  - `rate/pistachio/rev2`
  - `rate/pistachio_mp`
  - `rate/pistachio_pro`
  - `redox/rev1`
  - `redscarf_iiplus/verb`
  - `redscarf_iiplus/verc`
  - `redscarf_iiplus/verd`
  - `retro_75`
  - `reversestudio/decadepad`
  - `reviung/reviung5`
  - `reviung/reviung33`
  - `reviung/reviung34`
  - `reviung/reviung39`
  - `reviung/reviung41`
  - `reviung/reviung53`
  - `rgbkb/zen/rev1`
  - `rgbkb/zen/rev2`
  - `rmi_kb/aelith`
  - `rmi_kb/chevron`
  - `rmi_kb/herringbone/pro`
  - `rmi_kb/herringbone/v1`
  - `rmi_kb/squishy65`
  - `rmi_kb/squishyfrl`
  - `rmi_kb/squishytkl`
  - `rmi_kb/wete/v1`
  - `rmi_kb/wete/v2`
  - `rocketboard_16`
  - `rominronin/katana60/rev1`
  - `rominronin/katana60/rev2`
  - `roseslite`
  - `rotr`
  - `rpiguy9907/southpaw66`
  - `rubi`
  - `rura66/rev1`
  - `ryanbaekr/rb1`
  - `ryanbaekr/rb18`
  - `ryanbaekr/rb69`
  - `ryanbaekr/rb86`
  - `ryanbaekr/rb87`
  - `ryanskidmore/rskeys100`
  - `ryloo_studio/m0110`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 2 (#23784)

Affects:

  - `slz40`
  - `smithrune/iron160/iron160_s`
  - `smithrune/iron165r2/f072`
  - `smithrune/iron165r2/f411`
  - `smithrune/iron180`
  - `smithrune/iron180v2/v2h`
  - `smithrune/iron180v2/v2s`
  - `smoll/lefty`
  - `snampad`
  - `sneakbox/aliceclone`
  - `sneakbox/disarray/ortho`
  - `sneakbox/disarray/staggered`
  - `soup10`
  - `soy20`
  - `sparrow62`
  - `split67`
  - `splitish`
  - `splitography`
  - `star75`
  - `stello65/beta`
  - `stello65/hs_rev1`
  - `stello65/sl_rev1`
  - `stenokeyboards/the_uni/pro_micro`
  - `stenokeyboards/the_uni/usb_c`
  - `strech/soulstone`
  - `studiokestra/bourgeau`
  - `studiokestra/cascade`
  - `studiokestra/frl84`
  - `studiokestra/galatea/rev1`
  - `studiokestra/galatea/rev2`
  - `studiokestra/galatea/rev3`
  - `studiokestra/line_friends_tkl`
  - `studiokestra/nascent`
  - `studiokestra/nue`
  - `suavity/ehan`
  - `subatomic`
  - `switchplate/southpaw_65`
  - `switchplate/southpaw_fullsize`
  - `switchplate/switchplate910`
  - `sx60`
  - `system76/launch_1`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: S, Part 1 (#23783)

Affects:

  - `salicylic_acid3/7skb/rev1`
  - `salicylic_acid3/7splus`
  - `salicylic_acid3/ajisai74`
  - `salicylic_acid3/ergoarrows`
  - `salicylic_acid3/getta25/rev1`
  - `salicylic_acid3/jisplit89/rev1`
  - `salicylic_acid3/nafuda`
  - `salicylic_acid3/naked48/rev1`
  - `salicylic_acid3/naked60/rev1`
  - `salicylic_acid3/naked64/rev1`
  - `salicylic_acid3/nknl7en`
  - `salicylic_acid3/nknl7jp`
  - `salicylic_acid3/setta21/rev1`
  - `sandwich/keeb68`
  - `satt/vision`
  - `sauce/mild`
  - `scatter42`
  - `sck/gtm`
  - `sck/m0116b`
  - `sck/neiso`
  - `sekigon/grs_70ec`
  - `sendyyeah/pix`
  - `senselessclay/ck65`
  - `senselessclay/gos65`
  - `senselessclay/had60`
  - `sentraq/s60_x/default`
  - `sentraq/s60_x/rgb`
  - `sentraq/s65_plus`
  - `sentraq/s65_x`
  - `sets3n/kk980`
  - `shambles`
  - `shandoncodes/flygone60/rev3`
  - `shandoncodes/mino/hotswap`
  - `shapeshifter4060`
  - `shiro`
  - `shk9`
  - `sidderskb/majbritt/rev2`
  - `sixkeyboard`
  - `skeletonkbd/skeletonnumpad`
  - `skme/zeno`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: W, Part 2 (#23789)

Affects:

  - `wilba_tech/rama_works_kara`
  - `wilba_tech/rama_works_koyu`
  - `wilba_tech/rama_works_m10_b`
  - `wilba_tech/rama_works_m10_c`
  - `wilba_tech/rama_works_m50_a`
  - `wilba_tech/rama_works_m50_ax`
  - `wilba_tech/rama_works_m60_a`
  - `wilba_tech/rama_works_m65_b`
  - `wilba_tech/rama_works_m65_bx`
  - `wilba_tech/rama_works_m6_a`
  - `wilba_tech/rama_works_m6_b`
  - `wilba_tech/rama_works_u80_a`
  - `wilba_tech/wt60_a`
  - `wilba_tech/wt60_b`
  - `wilba_tech/wt60_bx`
  - `wilba_tech/wt60_c`
  - `wilba_tech/wt60_d`
  - `wilba_tech/wt60_g`
  - `wilba_tech/wt60_g2`
  - `wilba_tech/wt60_h1`
  - `wilba_tech/wt60_h2`
  - `wilba_tech/wt60_h3`
  - `wilba_tech/wt60_xt`
  - `wilba_tech/wt65_a`
  - `wilba_tech/wt65_b`
  - `wilba_tech/wt65_d`
  - `wilba_tech/wt65_f`
  - `wilba_tech/wt65_fx`
  - `wilba_tech/wt65_g`
  - `wilba_tech/wt65_g2`
  - `wilba_tech/wt65_h1`
  - `wilba_tech/wt65_xt`
  - `wilba_tech/wt65_xtx`
  - `wilba_tech/wt69_a`
  - `wilba_tech/wt70_jb`
  - `wilba_tech/wt75_a`
  - `wilba_tech/wt75_b`
  - `wilba_tech/wt75_c`
  - `wilba_tech/wt80_a`
  - `wilba_tech/wt80_g`
  - `wilba_tech/zeal60`
  - `wilba_tech/zeal65`
  - `woodkeys/meira/featherble`
  - `wsk/alpha9`
  - `wsk/g4m3ralpha`
  - `wsk/gothic50`
  - `wsk/gothic70`
  - `wsk/houndstooth`
  - `wsk/jerkin`
  - `wsk/kodachi50`
  - `wsk/pain27`
  - `wsk/sl40`
  - `wsk/tkl30`
  - `wuque/ikki68`
  - `wuque/mammoth20x`
  - `wuque/mammoth75x`
  - `wuque/nemui65`
  - `wuque/tata80/wk`
  - `wuque/tata80/wkl`

* Migrate `LOCKING_*_ENABLE` to Data-Driven: X-Z (#23790)

Affects:

  - `x16`
  - `xelus/akis`
  - `xelus/dharma`
  - `xelus/kangaroo/rev1`
  - `xelus/kangaroo/rev2`
  - `xelus/ninjin`
  - `xelus/pachi/mini_32u4`
  - `xelus/pachi/rev1`
  - `xelus/snap96`
  - `xelus/xs108`
  - `xiudi/xd60/rev2`
  - `xiudi/xd60/rev3`
  - `xiudi/xd68`
  - `xiudi/xd75`
  - `xiudi/xd84pro`
  - `xiudi/xd87`
  - `xmmx`
  - `ydkb/chili`
  - `ydkb/grape`
  - `ydkb/just60`
  - `yiancardesigns/barleycorn`
  - `yiancardesigns/gingham`
  - `yiancardesigns/seigaiha`
  - `ymdk/melody96/soldered`
  - `ymdk/np21`
  - `ymdk/yd60mq`
  - `ymdk/ymd09`
  - `ymdk/ymd67`
  - `yoichiro/lunakey_mini`
  - `yushakobo/quick7`
  - `yynmt/acperience12/rev1`
  - `yynmt/dozen0`
  - `yynmt/kagamidget`
  - `zigotica/z12`
  - `zigotica/z34`
  - `zj68`
  - `zlant`
  - `zoo/wampus`
  - `zsa/moonlander`
  - `ztboards/after`
  - `ztboards/noon`

* Update GPIO macros in keymaps (#23792)

* 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 Q2 changelog (#23794)

Co-authored-by: James Young <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>

* Merge point for 2024q2 Breaking Changes.

- Remove `develop` notice from readme.

* Workaround for broken ChibiOS startup (#23822)

* Decrease CPU count by one to try and stop GHA from killing runners. (#23826)

* Vitepress conversion of docs. (#23795)

* [docs] Fix code blocks overflowing page width (#23829)

Fix code blocks overflowing page width

* [docs] Better logo SVG (#23828)

* [docs] Update "Get Started" blocks (#23830)

Update "Get Started" blocks

* [docs] Fix old anchor IDs (#23831)

* Docs theme updates (#23832)

* [docs] Remove gitbook directory (#23839)

* [docs] Organize driver & feature docs into subfolders (#23848)

Co-authored-by: Nick Brassel <[email protected]>

* Fix Vitamins Included Keymap Formatting (#23803)

* [docs] Add ability to redirect based on input path. (#23851)

* [FIX] ChibiOS: USB Digitizer and Joystick IN endpoint compilation (#23854)

Co-authored-by: Ryan <[email protected]>

* Add helper `make` targets for formatting and pytest. (#23858)

* Fixup build failures. (#23869)

* Fix documentation error (#23872)

Co-authored-by: Nick Brassel <[email protected]>
Co-authored-by: Ryan <[email protected]>

* Add SyenaKeyboards Elaruus (#23870)

* add syenakeyboard elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards/elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* Update keyboards/syenakeyboards/elaruus/keyboard.json

Co-authored-by: jack <[email protected]>

* Update keyboards/syenakeyboards/elaruus/keymaps/default/keymap.c

Co-authored-by: jack <[email protected]>

* Update keyboards/syenakeyboards/elaruus/keymaps/via/keymap.c

Co-authored-by: jack <[email protected]>

---------

Co-authored-by: Syenasweta <[email protected]>
Co-authored-by: jack <[email protected]>

* Fix broken link in PR checklist (#23877)

* Fix Tri-Layer Keycode Descriptions (#23888)

* [Keyboard] add jaykeeb jk60 (#23876)

* Fix Iris/Irispad keymaps (#23856)

* Re-implement `eeprom_write_qword` as define (#23890)

* Slight clarification of LED/RGB Matrix custom effect docs (#23897)

* [Keyboard] Fix settings for 4pplet/waffling60 (#23862)

* Remove VIA_ENABLE from default keymaps. (#23903)

* VIA keymap deprecation notice. (#23905)

* Fixup docs. (#23906)

* Ensure documentation pull requests build (#23908)

* Add API reference section for LED/RGB Matrix docs (#23902)

* Fix nonunique anchors (#23910)

* Add missing encode enable for BAMFK-1 (#23821)

Add missing encode enable

* Fix order of RGB LEDs to correct one for Iris CE (#23914)

* Remove suggestion of creating issues for unsupported keyboards. (#23918)

* [Keyboard] Enable dip switch for Keychron Q4 (#23889)

* fix keymap for kprepublic bm60hsrgb_iso (#23733)



Co-authored-by: Duncan Sutherland <[email protected]>
Co-authored-by: Ryan <[email protected]>

* [Keyboard] Add Altair-X (#23879)


Co-authored-by: jack <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

* [Keyboard] Add Altair (#23878)

Co-authored-by: jack <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>

* Various keyboard fixes (#23919)

* [CLI] Don't `exit()` when certain exceptions occur. (#23442)

* [Keyboard] ErgoStrafer RGB (#22936)

* adding ergostrafer rgb

* removing comment

* [CLI] Older python compat. (#23933)

* `ergodox_ez/base`: Add missing `features` object (#23935)

* Add Chiri CE (#23926)

* Add Chiri CE

* Add more layers for dynamic keymap

* Move EEPROM clear

* Convert to keymap.json

* Change bootmagic matrix position

* 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

* Mechwild OBE/Waka60: Fix build warnings (#23929)

* Strip decimals from RGB Matrix layout positions (#23943)

* Remove references to bootloadHID flashing page in keyboard readmes (#23942)

* Remove references to bootloadHID flashing page in keyboard readmes

* Remove bootloadHID flashing page

* Update RGB matrix indicator example  (#23947)

Changed the example in indicator-examples-2 to use a compound literal, otherwise the code fails to compile.

* Update 'qmk import-kbfirmware' to use 'keyboard.json' (#23960)

* [Keyboard] fixes for ZSA Voyager (#23912)

* Fix leftover reference to previous AW20216S EN pin definition (#23974)

* Update what's powering QMK docs (#23977)

* Fix 'qmk import-kbfirmware' WS2812 config (#23976)

* Update documentation suggestion in top level readme (#23978)

* `handwired/symmetric70_proto`: add `keyboard.json` (#23966)

* Rename layouts containing keyboard name (#23930)

* Add support for userspace to docker build commands. (#23988)

* `custommk/ergostrafer_rgb`: move to keyboard.json (#23990)

* Remove some redundant 'blank' files (#23995)

---------

Signed-off-by: Stefan Kerkmann <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: QMK Bot <[email protected]>
Co-authored-by: Stephon Parker <[email protected]>
Co-authored-by: jack <[email protected]>
Co-authored-by: Duncan Sutherland <[email protected]>
Co-authored-by: era <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: Less/Rikki <[email protected]>
Co-authored-by: Alabahuy <[email protected]>
Co-authored-by: Stefan Gluszek <[email protected]>
Co-authored-by: josh-l-wang <[email protected]>
Co-authored-by: Joe Scotto <[email protected]>
Co-authored-by: James Young <[email protected]>
Co-authored-by: Cipulot <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Simon <[email protected]>
Co-authored-by: DavidSannier <[email protected]>
Co-authored-by: Ivan Gromov <[email protected]>
Co-authored-by: Joy Lee <[email protected]>
Co-authored-by: wb <[email protected]>
Co-authored-by: Druah <[email protected]>
Co-authored-by: Pavel Kroupa <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>
Co-authored-by: yiancar <[email protected]>
Co-authored-by: yiancar <[email protected]>
Co-authored-by: Andrew Kannan <[email protected]>
Co-authored-by: Alexei Robyn <[email protected]>
Co-authored-by: Stefan Kerkmann <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexandr <[email protected]>
Co-authored-by: フィルターペーパー <[email protected]>
Co-authored-by: Vino Rodrigues <[email protected]>
Co-authored-by: leep-frog <[email protected]>
Co-authored-by: George Secillano <[email protected]>
Co-authored-by: Vertex-kb <[email protected]>
Co-authored-by: Dasky <[email protected]>
Co-authored-by: Danny <[email protected]>
Co-authored-by: c0ldbru <[email protected]>
Co-authored-by: c0ldbru <[email protected]>
Co-authored-by: Shandon Anderson <[email protected]>
Co-authored-by: Skyler Hawthorne <[email protected]>
Co-authored-by: Coby Sher <[email protected]>
Co-authored-by: sotoba <[email protected]>
Co-authored-by: blindassassin111 <[email protected]>
Co-authored-by: gskygithub <[email protected]>
Co-authored-by: gksygithub <[email protected]>
Co-authored-by: Michael Büchler <[email protected]>
Co-authored-by: VertorWang <[email protected]>
Co-authored-by: eason <[email protected]>
Co-authored-by: Jerome Berclaz <[email protected]>
Co-authored-by: Alex Mayer <[email protected]>
Co-authored-by: Kim Viberti <[email protected]>
Co-authored-by: Syenasweta a.k.a. Nashrullah Ali Fauzi <[email protected]>
Co-authored-by: Syenasweta <[email protected]>
Co-authored-by: 4pplet <[email protected]>
Co-authored-by: adophoxia <[email protected]>
Co-authored-by: Myriam <[email protected]>
Co-authored-by: ai03 <[email protected]>
Co-authored-by: David Hoelscher <[email protected]>
Co-authored-by: lizaoreo <[email protected]>
Co-authored-by: Kevin Horvat <[email protected]>
Copy link

github-actions bot commented Jul 3, 2024

This issue has been automatically marked as stale because it has not had activity in the last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity occurs.
For maintainers: Please label with bug, in progress, on hold, discussion or to do to prevent the issue from being re-flagged.

@github-actions github-actions bot added the stale Issues or pull requests that have become inactive without resolution. label Jul 3, 2024
Copy link

github-actions bot commented Aug 2, 2024

This issue has been automatically closed because it has not had activity in the last 30 days. If this issue is still valid, re-open the issue and let us know.
// [stale-action-closed]

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Aug 2, 2024
nuess0r pushed a commit to nuess0r/qmk_firmware that referenced this issue Sep 8, 2024
Ardakilic pushed a commit to Ardakilic/qmk_firmware that referenced this issue Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement help wanted stale Issues or pull requests that have become inactive without resolution.
Projects
None yet
Development

No branches or pull requests

3 participants