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 tkl_(ansi|iso)_wkl* community layouts #21809

Merged
merged 12 commits into from
May 1, 2024
Merged

Conversation

dunk2k
Copy link
Contributor

@dunk2k dunk2k commented Aug 22, 2023

Description

Adding tenkeyless (tkl) windows keyless (wkl) community layouts. This layout is technically a tsangan (bottom row) layout with both GUI keys removed, however mechanical keyboard community does not refer to this layout as "tsangan wkl".

keyboards where these community layouts apply will be added in a later PR, post merge of this PR and #21796.

Uniform(ed) spacing between alphanumeric cluster and navigation cluster for tkl_f13_* layouts in layouts/default/readme.md

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

  • n/a

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@dunk2k dunk2k marked this pull request as ready for review August 22, 2023 18:42
@Wraul
Copy link
Contributor

Wraul commented Aug 27, 2023

I was asked by @dunk2k to comment on this PR.

Having looked through the layouts in this PR and the ones that already exists in layouts/defaults, it looks like there is some confusion about what a Tsangan layout actually is.

Maybe this PR isn't the correct place to discuss this but here we go anyway.

As far as I'm aware, Tsangan refers to an entire layout. A layout where the distinguishing feature is that is has the following

  • A bottom row that is 1.5, 1, 1.5, 7, 1.5, 1, 1.5
  • Split backspace
  • 1.75 right shift with a 1u key to the right of it

When referring to a layout that is "normal" in all other ways besides that it has a bottom row of 1.5, 1, 1.5, 7, 1.5, 1, 1.5 I was under the impression that 7U was used. Something like TKL ANSI 7U

History

A quick history lesson for any younglings.
Back in the dark ages, when all we had was DCS keycaps from Signature Plastics, there existed a Korean Geekhack user named Tsangan. Tsangan came to group buys asking that a set of "weird" keys be added to the group buy. These keys where needed for the set to be compatible with a few esoteric layouts that was popular in the Korean keyboard community.

Tsangans requests became so frequent that group buy organizers started including a "Tsangan kit" in their group buys. Among the keys included in the "Tsangan kit" was a 7u spacebar and a 1.75u shift. The complete "Tsangan kit" can be seen in the Deskthority wiki here.

Somewhere along the line Tsangan became synonymous with a layout that utilizes a few of the keys from the "Tsangan kit". Producing the layout I mentioned above. A Google image search for "tsangan layout" will confirm this.

So if we are to stay true to the history tsangan should not just refer to the bottom row.

Layout definitions

Bellow are my thoughts regarding how layouts works. Which appears to be in conflict with this PR and how some of the already defined layouts in QMK works.

Lets assume that there exists a few fundamental base layouts. Some examples of such base layouts would be TKL, 60%, Ergodox and so on. We'll call this base.

Lets also assume that the base layouts has a few general variations, like ANSI, ISO, JIS. We'll call this variant.

Lets also assume that on top of this each layout can have multiple modifications. There exists a few modifications that appears to be quite well established in the community. I'm mainly thinking about WK and WKL, with WK being the default so it is seldom explicitly mentioned. Example of modifications could be WKL and split BS. Lets refer to this as modifier.

The simplest layout specification would be base + variant.

An example of this would be

base: TKL
variant: ANSI

This should really also have modifier: WK, but as mentioned above WK appears to be the implicit default.

LAYOUT_tkl_ansi
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
│   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
│     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
│      │   │   │   │   │   │   │   │   │   │   │   │        │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐
│        │   │   │   │   │   │   │   │   │   │   │          │     │   │
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
│    │    │    │                        │    │    │    │    │ │   │   │   │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘

A more complex layout specification would be base + variant + modifier

An example of this would be

base: TKL
variant: ANSI
modifier: WKL

LAYOUT_tkl_ansi_wkl
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
│   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
│     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
│      │   │   │   │   │   │   │   │   │   │   │   │        │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐
│        │   │   │   │   │   │   │   │   │   │   │          │     │   │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤ ┌───┼───┼───┐
│     │   │     │                           │     │   │     │ │   │   │   │
└─────┘   └─────┴───────────────────────────┴─────┘   └─────┘ └───┴───┴───┘

So a layout with the bottom row 1.5, 1, 1.5, 7, 1.5, 1, 1.5 would use modifier: 7U

Example

base: TKL
variant: ANSI
modifier: 7U

Should probably also have modifier: WK, but again the WK is implicit.

LAYOUT_tkl_ansi_7u
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
│   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
│     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
│      │   │   │   │   │   │   │   │   │   │   │   │        │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐
│        │   │   │   │   │   │   │   │   │   │   │          │     │   │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤ ┌───┼───┼───┐
│     │   │     │                           │     │   │     │ │   │   │   │
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘

Other examples of layout definitions with modifiers could be

base: TKL
variant: ANSI
modifier: split BS

LAYOUT_tkl_ansi_split_bs
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │ │   │   │   │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
│     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
│      │   │   │   │   │   │   │   │   │   │   │   │        │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐
│        │   │   │   │   │   │   │   │   │   │   │          │     │   │
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
│    │    │    │                        │    │    │    │    │ │   │   │   │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘

base: TKL
variant: ANSI
modifier: split RShift

LAYOUT_tkl_ansi_split_rshift
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
│   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
│     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
│      │   │   │   │   │   │   │   │   │   │   │   │        │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤     ┌───┐
│        │   │   │   │   │   │   │   │   │   │   │      │   │     │   │
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
│    │    │    │                        │    │    │    │    │ │   │   │   │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘

So going by the above, modifier: Tsangan would just be an alias for modifier: 7U + modifier: split BS + modifier: split RShift

Example

base: TKL
variant: ANSI
modifier: Tsangan

or

base: TKL
variant: ANSI
modifier: 7U
modifier: split BS
modifier: split RShift

LAYOUT_tkl_ansi_tsangan or LAYOUT_tkl_ansi_7u_split_bs_split_rshift
┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │ │   │   │   │   │ │   │   │   │   │ │   │   │   │
└───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
│   │   │   │   │   │   │   │   │   │   │   │   │   │   │   │ │   │   │   │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤
│     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
│      │   │   │   │   │   │   │   │   │   │   │   │        │
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤     ┌───┐
│        │   │   │   │   │   │   │   │   │   │   │      │   │     │   │
├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ ┌───┼───┼───┐
│     │   │     │                           │     │   │     │ │   │   │   │
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘

@dunk2k
Copy link
Contributor Author

dunk2k commented Aug 27, 2023

@Wraul
Thank you kindly for this insight and history lesson ☺️

@dunk2k dunk2k changed the title add tkl*wkl* community layouts add tkl_(ansi|iso)_wkl* community layouts Aug 27, 2023
@drashna drashna requested review from noroadsleft and a team August 29, 2023 23:13
@noroadsleft
Copy link
Member

@Wraul,

Well researched and explained.

While I don't disagree with anything you've said factually as to the history of the Tsangan layout - that's pretty much how I remember it as well - the usage of the term tsangan in QMK has never really aligned to the historical "it's a full layout descriptor" usage.

The original Tsangan community layouts in QMK were the 60_ansi_tsangan and 60_iso_tsangan, which were added as part of support for the GSKT-00 in #3911 (and bugfixed in #3987). This support was implemented for 7u spacebar + 1.5u Ctrl and Alt keys + 1u GUI keys, with the standard 2u Backspace and 2.75u RShift. This implementation became something of a de-facto standard within QMK, and propagated to other keymaps and layouts.

The way I've long thought of the community layout names has been:

  • LAYOUT_ +
  • form factor (60, 65, tkl...)
  • variant (f13, nofrow...)
  • region (ansi, iso, jis)
  • bottom row type (tsangan, wkl, blocker...)
  • key splits (split_bs(_rshift)?)

There are a few layouts that don't conform to this pattern, be that due to lack of official guidelines or de-facto standards, or a desire to be concise - LAYOUT_64_(ansi|iso) falls into that last group; it's a 60% variant in my mind. 60_ansi_arrow_split_bs_7u_spc also doesn't, and if I were implementing that layout, I'd have probably named it 60_ansi_arrow_tsangan_split_bs, even though it's not a Tsangan layout.

When naming layouts with standardization in mind, I always aim for something that's descriptive, and then concise if possible. Some of the 65% and TKL layout names are very wordy, partly because there's so many ways to lay them out, so many descriptors are needed. 65_ansi_blocker_tsangan_wkl_split_bs is a legitimate possibility in this space, and there are a few boards with this layout already designated and implemented at keyboard-level.

In short, wherever possible I try to stick to what's already established within QMK while also not adding confusion. I suspect @dunk2k has read quite a bit of code that I have authored, because it appears he's copying my code style in this PR (and I have absolutely no problem with this, for the record - it lends itself to a self-consistent codebase). I myself have emulated and copied that which came before me, implementing changes where I saw fit.

@dunk2k
Copy link
Contributor Author

dunk2k commented Oct 7, 2023

60_ansi_arrow_split_bs_7u_spc also doesn't, and if I were implementing that layout, I'd have probably named it 60_ansi_arrow_tsangan_split_bs

65_ansi_blocker_tsangan_wkl_split_bs is a legitimate possibility in this space

Just what i was thinking here 😳

Copy link
Member

@noroadsleft noroadsleft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@noroadsleft noroadsleft requested a review from a team October 7, 2023 21:39
@dunk2k dunk2k force-pushed the tkl_wkl branch 2 times, most recently from 968a3c1 to 606e4eb Compare December 6, 2023 14:04
Copy link

Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with bug, awaiting review, breaking_change, in progress, or on hold 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 Feb 24, 2024
@dunk2k
Copy link
Contributor Author

dunk2k commented Feb 24, 2024

Currently pending review from qmk/collaborators

@github-actions github-actions bot removed the stale Issues or pull requests that have become inactive without resolution. label Feb 25, 2024
Copy link
Member

@noroadsleft noroadsleft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just two minor edits.

dunk2k and others added 2 commits May 1, 2024 18:38
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
@noroadsleft noroadsleft merged commit 7b838f3 into qmk:master May 1, 2024
2 checks passed
@noroadsleft
Copy link
Member

Thanks!

@dunk2k dunk2k deleted the tkl_wkl branch May 1, 2024 19:12
mzyt pushed a commit to mzyt/qmk_firmware that referenced this pull request May 6, 2024
* 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
IvanJackson pushed a commit to IvanJackson/qmk_firmware that referenced this pull request May 6, 2024
* 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
aaruff pushed a commit to aaruff/qmk_firmware that referenced this pull request May 22, 2024
* 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
whoisjordangarcia pushed a commit to whoisjordangarcia/qmk_firmware that referenced this pull request Jun 8, 2024
* 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
j4ckofalltrades pushed a commit to j4ckofalltrades/qmk_firmware that referenced this pull request Jun 25, 2024
* [Keyboard] Add MECHWILD BB65 (#23581)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* [Keyboard] Add SIRIND TOMAK (#23554)

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* [Keyboard] add jaykeeb jk65 (#23536)

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

Co-authored-by: jack <0x6a73@protonmail.com>

* [Keyboard] Vault35 WKL universal (#23519)

* Add ScottoWing keyboard (#23513)

Co-authored-by: jack <0x6a73@protonmail.com>

* MechKeys ACR60 Layout Updates (#23309)

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

* Add EC Virgo (#23173)

Co-authored-by: jack <0x6a73@protonmail.com>

* 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 <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>

* Add EC980C (#23172)

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

* [Keyboard] 3x3macropad (#23594)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

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

* [Keyboard] Add imi60 (#23570)

Co-authored-by: Drashna Jaelre <drashna@live.com>

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

* [Keyboard] Add skiller_sgk50_s4 keyboard (#23636)

Co-authored-by: wb <wb@westberrytech.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* [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 <git@zvecr.com>

* Update keyboards/novelkeys/nk_classic_tkl/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/novelkeys/nk_classic_tkl/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* readme fix

---------

Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>

* [Keyboard] Add Petrichor Keyboard (#23413)

Co-authored-by: jack <0x6a73@protonmail.com>

* 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 <karlk90@pm.me>

* 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] <support@github.com>
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 <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/mcuconf.h

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/halconf.h

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

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

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

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

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Update keyboards/vertex/cycle7/config.h

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* Add files via upload

* Update info.json

* Add files via upload

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

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

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

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

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

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

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

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Update keyboards/vertex/cycle7/info.json

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

---------

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* 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 <git@zvecr.com>

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/rot13labs/h4ckb0ard/info.json

Co-authored-by: Joel Challis <git@zvecr.com>

* 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 <0x6a73@protonmail.com>

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

Co-authored-by: jack <0x6a73@protonmail.com>

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

Co-authored-by: jack <0x6a73@protonmail.com>

---------

Co-authored-by: c0ldbru <c0ldbrusec@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <0x6a73@protonmail.com>

* 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 <dunk2k_2000@hotmail.com>

* Add via support for craftwalk  (#23658)

Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>

* [Keyboard] Adding TX_Roundup_Pad PCB (#23526)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>

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

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

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com>

* 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] <support@github.com>
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 <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>

* 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 <nick@tzarc.org>

* 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 <fauxpark@gmail.com>

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

* Fixup build failures. (#23869)

* Fix documentation error (#23872)

Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>

* 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 <0x6a73@protonmail.com>

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

Co-authored-by: jack <0x6a73@protonmail.com>

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

Co-authored-by: jack <0x6a73@protonmail.com>

---------

Co-authored-by: Syenasweta <syenasweta@gmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>

* 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 <dunk2k_2000@hotmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>

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


Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>

* [Keyboard] Add Altair (#23878)

Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>

* 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 <karlk90@pm.me>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: QMK Bot <hello@qmk.fm>
Co-authored-by: Stephon Parker <sgparker62@gmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: era <73109780+eerraa@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Alabahuy <rezolutionrez@gmail.com>
Co-authored-by: Stefan Gluszek <gluszek.stefan@gmail.com>
Co-authored-by: josh-l-wang <22173775+josh-l-wang@users.noreply.github.com>
Co-authored-by: Joe Scotto <8194147+joe-scotto@users.noreply.github.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Cipulot <40441626+Cipulot@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Simon <68034180+rarepotato8de@users.noreply.github.com>
Co-authored-by: DavidSannier <david.sannier@gmail.com>
Co-authored-by: Ivan Gromov <38141348+key10iq@users.noreply.github.com>
Co-authored-by: Joy Lee <joylee.lc@foxmail.com>
Co-authored-by: wb <wb@westberrytech.com>
Co-authored-by: Druah <54309603+Druah@users.noreply.github.com>
Co-authored-by: Pavel Kroupa <63880977+Tabonx@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: yiancar <yiangosyiangou@cytanet.com.cy>
Co-authored-by: yiancar <yiancar@gmail.com>
Co-authored-by: Andrew Kannan <andrew.kannan@gmail.com>
Co-authored-by: Alexei Robyn <shados@shados.net>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexandr <37986872+sannoization@users.noreply.github.com>
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com>
Co-authored-by: leep-frog <66687468+leep-frog@users.noreply.github.com>
Co-authored-by: George Secillano <george.secillano@gmail.com>
Co-authored-by: Vertex-kb <102476474+Vertex-kb@users.noreply.github.com>
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Co-authored-by: Danny <nooges@users.noreply.github.com>
Co-authored-by: c0ldbru <dennisp98@gmail.com>
Co-authored-by: c0ldbru <c0ldbrusec@gmail.com>
Co-authored-by: Shandon Anderson <CheeseL0ver@users.noreply.github.com>
Co-authored-by: Skyler Hawthorne <skyler@dead10ck.com>
Co-authored-by: Coby Sher <63015754+CobyPear@users.noreply.github.com>
Co-authored-by: sotoba <sotoba.s+git@gmail.com>
Co-authored-by: blindassassin111 <38090555+blindassassin111@users.noreply.github.com>
Co-authored-by: gskygithub <106651989+gskygithub@users.noreply.github.com>
Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com>
Co-authored-by: Michael Büchler <michael.buechler@posteo.net>
Co-authored-by: VertorWang <1479115496@qq.com>
Co-authored-by: eason <98533237+EasonQian1@users.noreply.github.com>
Co-authored-by: Jerome Berclaz <jerome.berclaz@a3.epfl.ch>
Co-authored-by: Alex Mayer <amayer5125@gmail.com>
Co-authored-by: Kim Viberti <45943577+ilkimo@users.noreply.github.com>
Co-authored-by: Syenasweta a.k.a. Nashrullah Ali Fauzi <nshrllh.l.fz@gmail.com>
Co-authored-by: Syenasweta <syenasweta@gmail.com>
Co-authored-by: 4pplet <mail@4pplet.com>
Co-authored-by: adophoxia <100170946+adophoxia@users.noreply.github.com>
Co-authored-by: Myriam <myriam@halfapx.com>
Co-authored-by: ai03 <admin@ai03.com>
Co-authored-by: David Hoelscher <infinityis@users.noreply.github.com>
Co-authored-by: lizaoreo <lizaoreo@hotmail.com>
Co-authored-by: Kevin Horvat <k@horvat.swiss>
nuess0r pushed a commit to nuess0r/qmk_firmware that referenced this pull request Sep 8, 2024
* 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
Ardakilic pushed a commit to Ardakilic/qmk_firmware that referenced this pull request Sep 10, 2024
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants