* Move RGBLight animations to data driven, 0-9
* Move RGBLight animations to data driven, A
* Move RGBLight animations to data driven, B
* Move RGBLight animations to data driven, C
* Move RGBLight animations to data driven, D
* Move RGBLight animations to data driven, E
* Move RGBLight animations to data driven, F
* Move RGBLight animations to data driven, G
* Move RGBLight animations to data driven, H
* Move RGBLight animations to data driven, handwired
* Move RGBLight animations to data driven, I
* Move RGBLight animations to data driven, J
* Move RGBLight animations to data driven, K
* Move RGBLight animations to data driven, L
* Move RGBLight animations to data driven, M
* Move RGBLight animations to data driven, N
* Move RGBLight animations to data driven, O
* Move RGBLight animations to data driven, P
* Move RGBLight animations to data driven, Q
* Move RGBLight animations to data driven, R
* Move RGBLight animations to data driven, S
* Move RGBLight animations to data driven, T
* Move RGBLight animations to data driven, U
* Move RGBLight animations to data driven, V
* Move RGBLight animations to data driven, W
* Move RGBLight animations to data driven, X
* Move RGBLight animations to data driven, Y
* Move RGBLight animations to data driven, Z
* Fix incorrect placement
* Fix build failures and mismatches
* Clean up `DEBOUNCE` in config.h, 0-9
* Clean up `DEBOUNCE` in config.h, A
* Clean up `DEBOUNCE` in config.h, B
* Clean up `DEBOUNCE` in config.h, C
* Clean up `DEBOUNCE` in config.h, D
* Clean up `DEBOUNCE` in config.h, E
* Clean up `DEBOUNCE` in config.h, F
* Clean up `DEBOUNCE` in config.h, G
* Clean up `DEBOUNCE` in config.h, H
* Clean up `DEBOUNCE` in config.h, handwired
* Clean up `DEBOUNCE` in config.h, I
* Clean up `DEBOUNCE` in config.h, J
* Clean up `DEBOUNCE` in config.h, K
* Clean up `DEBOUNCE` in config.h, L
* Clean up `DEBOUNCE` in config.h, M
* Clean up `DEBOUNCE` in config.h, N
* Clean up `DEBOUNCE` in config.h, O
* Clean up `DEBOUNCE` in config.h, P
* Clean up `DEBOUNCE` in config.h, Q
* Clean up `DEBOUNCE` in config.h, R
* Clean up `DEBOUNCE` in config.h, S
* Clean up `DEBOUNCE` in config.h, T
* Clean up `DEBOUNCE` in config.h, U
* Clean up `DEBOUNCE` in config.h, V
* Clean up `DEBOUNCE` in config.h, W
* Clean up `DEBOUNCE` in config.h, X
* Clean up `DEBOUNCE` in config.h, Y
* Clean up `DEBOUNCE` in config.h, Z
* Remove default debounce from info.json
* Migrate non-default debounce to info.json
* Migrate `LAYOUTS` to data driven, 0-9
* Migrate `LAYOUTS` to data driven, A
* Migrate `LAYOUTS` to data driven, B
* Migrate `LAYOUTS` to data driven, C
* Migrate `LAYOUTS` to data driven, D
* Migrate `LAYOUTS` to data driven, E
* Migrate `LAYOUTS` to data driven, F
* Migrate `LAYOUTS` to data driven, G
* Migrate `LAYOUTS` to data driven, H
* Migrate `LAYOUTS` to data driven, handwired
* Migrate `LAYOUTS` to data driven, I
* Migrate `LAYOUTS` to data driven, J
* Migrate `LAYOUTS` to data driven, K
* Migrate `LAYOUTS` to data driven, L
* Migrate `LAYOUTS` to data driven, M
* Migrate `LAYOUTS` to data driven, N
* Migrate `LAYOUTS` to data driven, O
* Migrate `LAYOUTS` to data driven, P
* Migrate `LAYOUTS` to data driven, Q
* Migrate `LAYOUTS` to data driven, R
* Migrate `LAYOUTS` to data driven, S
* Migrate `LAYOUTS` to data driven, T
* Migrate `LAYOUTS` to data driven, U
* Migrate `LAYOUTS` to data driven, V
* Migrate `LAYOUTS` to data driven, W
* Migrate `LAYOUTS` to data driven, X
* Migrate `LAYOUTS` to data driven, Y
* Migrate `LAYOUTS` to data driven, Z
* mj6xy.h: convert tabs to spaces
* info.json: convert tabs to spaces
* info.json: apply friendly formatting
Whitespace-only change.
* rename LAYOUT_60_ansi_7u_spc to LAYOUT_60_ansi_tsangan
- rename `60_ansi_7u_spc` keymap to `default_ansi_tsangan`
* add K31 position to LAYOUT_60_iso
* rename LAYOUT_60_iso_7u_spc_split_rshift to LAYOUT_60_iso_tsangan_split_rshift
- rename `60_iso_7u_spc_split_rshift` keymap to `default_iso_tsangan_split_rshift`
* add K31 position to LAYOUT_60_iso_arrow
* add K31 position to LAYOUT_60_iso_arrow_6u_spc
* add K31 position to LAYOUT_60_iso_arrow_3u_spc
* refactor LAYOUT_60_iso_7u_spc into LAYOUT_60_iso_tsangan
- add K31 position to layout macro
- rename `60_iso_7u_spc` keymap to `default_iso_tsangan`
* add K31 position to LAYOUT_64_iso
- rename `64_iso` keymap to `default_64_iso`
* add K31 position to LAYOUT_64_iso_3u_spc
- rename `64_iso_3u_spc` keymap to `default_64_iso_3u_spc`
* add K31 position to LAYOUT_64_iso_split_3u_spc
- rename `64_iso_split_3u_spc` keymap to `default_64_iso_split_3u_spc`
* remove LAYOUT_60_iso_1u_lshift_split_rshift macro and keymap
Functionally identical to `LAYOUT_60_iso_split_rshift`.
* remove LAYOUT_60_iso_1u_lshift_7u_spc_split_rshift macro and keymap
Functionally identical to `LAYOUT_60_iso_tsangan_split_rshift`.
* rename LAYOUT_60_ansi_7u_spc_split_bs to LAYOUT_60_ansi_tsangan_split_bs
- rename `60_ansi_7u_spc_split_bs` keymap to `default_60_ansi_tsangan_split_bs`
* add K31 position to LAYOUT_60_iso_split_bs
* rename LAYOUT_60_iso_7u_spc_split_bs_rshift to LAYOUT_60_iso_tsangan_split_bs_rshift
- rename `60_iso_7u_spc_split_bs_rshift` keymap to `default_60_iso_tsangan_split_bs_rshift`
* add K31 position to LAYOUT_60_iso_arrow_split_bs
* add K31 position to LAYOUT_60_iso_arrow_3u_spc_split_bs
- rename `60_iso_arrow_3u_spc_split_bs` keymap to `default_60_iso_arrow_3u_spc_split_bs`
* add K31 position to LAYOUT_60_iso_arrow_split_bs_3u_spc
- rename `60_iso_arrow_split_bs_3u_spc` keymap to `default_60_iso_arrow_split_bs_3u_spc`
* refactor LAYOUT_60_iso_7u_spc_split_bs into LAYOUT_60_iso_tsangan_split_bs
- add K31 position to layout macro
- rename `60_iso_7u_spc_split_bs` keymap to `default_60_iso_tsangan_split_bs`
* add K31 position to LAYOUT_64_iso_split_bs
- rename `64_iso_split_bs` keymap to `default_64_iso_split_bs`
* add K31 position to LAYOUT_64_iso_3u_spc_split_bs
rename `64_iso_3u_spc_split_bs` keymap to `default_64_iso_3u_spc_split_bs`
* add K31 position to LAYOUT_64_iso_split_bs_3u_spc
- rename `64_iso_split_bs_3u_spc` keymap to `default_64_iso_split_bs_3u_spc`
* remove LAYOUT_60_ansi_arrow_6u_spc macro and keymap
Functionally identical to `LAYOUT_60_ansi_arrow`.
* remove LAYOUT_64_ansi_6u_spc macro and keymap
Functionally identical to `LAYOUT_64_ansi`.
* remove LAYOUT_60_iso_arrow_6u_spc macro and keymap
Functionally identical to `LAYOUT_60_iso_arrow`.
* remove LAYOUT_64_iso_6u_spc macro and keymap
Functionally identical to `LAYOUT_64_iso`.
* remove LAYOUT_60_ansi_arrow_6u_spc_split_bs macro and keymap
Functionally identical to `LAYOUT_60_ansi_arrow_split_bs`.
* remove LAYOUT_64_ansi_6u_spc_split_bs macro and keymap
Functionally identical to `LAYOUT_64_ansi_split_bs`.
* remove LAYOUT_60_iso_arrow_6u_spc_split_bs macro and keymap
Functionally identical to `LAYOUT_60_iso_arrow_split_bs`.
* remove LAYOUT_64_iso_6u_spc_split_bs macro and keymap
Functionally identical to `LAYOUT_64_iso_split_bs`.
* remove LAYOUT_60_iso_1u_lshift_split_bs_rshift macro and keymap
Functionally identical to `LAYOUT_60_iso_split_bs_rshift`.
* remove LAYOUT_60_iso_1u_lshift_7u_spc_split_bs_rshift macro and keymap
Functionally identical to `LAYOUT_60_iso_tsangan_split_bs_rshift`.
* refactor keymaps
- convert tabs to spaces
- update keycode grid alignment
* remove LAYOUT_60_ansi_arrow_3u_spc macro and keymap
Subset of `LAYOUT_60_ansi_arrow_3u_spc_split_bs`.
* remove LAYOUT_60_iso_arrow_3u_spc macro and keymap
Subset of `LAYOUT_60_iso_arrow_3u_spc_split_bs`.
* remove LAYOUT_60_iso_tsangan_split_bs macro and keymap
Subset of `LAYOUT_60_iso_tsangan_split_bs_rshift`.
* remove LAYOUT_60_iso_tsangan_split_rshift macro and keymap
Subset of `LAYOUT_60_iso_tsangan_split_bs_rshift`.
* remove LAYOUT_64_ansi_3u_spc macro and keymap
Subset of `LAYOUT_64_ansi_3u_spc_split_bs`.
* remove LAYOUT_64_iso_3u_spc macro and keymap
Subset of `LAYOUT_64_iso_3u_spc_split_bs`.
* remove LAYOUT_60_iso_split_bs macro and keymap
Subset of `LAYOUT_60_iso_split_bs_rshift`.
* remove LAYOUT_60_iso_split_rshift macro and keymap
Subset of `LAYOUT_60_iso_split_bs_rshift`.
* add LAYOUT_60_ansi_split_bs_rshift macro and keymap
* remove LAYOUT_60_ansi_split_bs macro and keymap
Subset of `LAYOUT_60_ansi_split_bs_rshift`.
* add LAYOUT_60_tsangan_hhkb macro and keymap
* remove LAYOUT_60_ansi_tsangan_split_bs macro and keymap
Subset of `LAYOUT_60_tsangan_hhkb`.
* standardize keymap names
Rename all keymaps per QMK guidelines (e.g. keymap using `LAYOUT_60_ansi_arrow` should be named `default_60_ansi_arrow`).
* add LAYOUT_all; refactor default keymap
Add a `LAYOUT_all` macro, and update the `default` keymap to use the new macro.
* refactor via keymap
Update the `via` keymap to match the behaviour of the `default` keymap.
* improve keyboard readme
- fix broken image reference
- improve grammar on keyboard description
- fix Hardware Availability link
- fix `make` instructions
- add bootloader and flashing instructions
* fix default_60_tsangan_hhkb keymap
Fix a keycode count mismatch.
* mj6xy.h: add matrix diagram
* KC_GESC -> QK_GESC per fauxpark
* KC_SLCK -> KC_SCRL per fauxpark