Compare commits

...

89 Commits

Author SHA1 Message Date
Michael Büchler 4d994458f0 Document the RP2040-specific PS/2 implementation (#22079)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2023-09-25 13:00:13 +10:00
Andrew Kannan c10a46aa43 Add is0gr to QMK (#22024)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
2023-09-25 12:59:38 +10:00
Duncan Sutherland e3cbd8a965 amend 75_(ansi|iso) community_layouts in keyboards/ (#21837) 2023-09-25 12:57:18 +10:00
Duncan Sutherland 2181da4b72 amend split_* community_layouts in keyboards (#21847) 2023-09-25 12:56:33 +10:00
plaublin 131bc92b77 Fix variable misspelling (#21774) 2023-09-25 12:32:50 +10:00
Ben Cooper 4ebb065f94 Fix combo_ref_from_layer respect different default layer [#21780] (#21781) 2023-09-25 12:32:20 +10:00
DeskDaily 9d3c0018c1 Added Wyvern Hotswap by BredWorks (#21141)
Co-authored-by: Neil Brian Ramirez <nightlykeyboards@gmail.com>
Co-authored-by: Neil Brian Ramirez <nightlyboards@gmail.com>
2023-09-25 12:28:48 +10:00
T.A 133be8759a included keyboard.h. To use is_keyboard_master with a split with an i… (#21571)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: tokky <tokky@localhost-live.attlocal.net>
2023-09-25 12:24:57 +10:00
Nick Brassel 9b429bd12d Revert "Update feature_rgblight.md" (#22132) 2023-09-25 11:50:35 +10:00
Tom singleton ee4e22d5ea Update feature_rgblight.md (#21483) 2023-09-25 11:43:55 +10:00
James Young f8884640b0 YMDK Melody96 Matrix Touch-Up (#22113)
* Correct layout/matrix diagram

Correct swapped designations for ANSI Backslash and ANSI Enter keys.

[docs]

* Correct matrix data

Correct the matrix data for:

  - `LAYOUT_all`
  - `LAYOUT_96_ansi`
  - `LAYOUT_96_ansi_splitbs`

which all had the matrix positions for ANSI Backslash and ANSI Enter swapped.

[bugfix]

* Implement `LAYOUT_hotswap` directly

Implement `LAYOUT_hotswap` as its own layout, instead of aliasing it to
`LAYOUT_96_ansi`.

[bugfix]

* Specify primary support for Soldered PCBs

Current version of codebase primarily supports Soldered PCBs.

[enhancement] [docs]
2023-09-24 00:57:08 -07:00
Shandon Anderson 26b2288bde [Keyboard] Enable RGB_TEST animation on riot_pad (#22118)
Co-authored-by: ShandonCodes <shandon@shandon.codes>
2023-09-23 13:22:44 -07:00
Ethan Perry c0d7a43637 Add Jank RP2040 Dactyl (#21973)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-09-23 01:34:22 -07:00
lendunistus bd2a33fe77 Add reminder about format-json to PR Checklist (#22055) 2023-09-23 01:18:11 -07:00
James Young 9a5b631ed6 GMMK2 96% ISO: Correct layout data (#22101) 2023-09-22 23:17:15 -07:00
era 7f2f15bc1a [Keyboard] Add SIRIND Klein (#21951)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2023-09-22 22:46:13 -07:00
Daniel Osipishin 4590b808da add subrezon/lancer keyboard (#20792)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Daniel Osipishin <danielos@retarus.de>
2023-09-22 22:10:35 -07:00
Duncan Sutherland ef214e6a3c Add 'dactyl_tracer' keyboard (#20993)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-22 21:45:34 -07:00
Nick Brassel 73ffa4594d Fix up qmk mass-compile makefile indenting. (#22115) 2023-09-23 13:07:38 +10:00
James Young e001c3349b Shoc: physically arrange keymaps/layout macro (#22100) 2023-09-22 19:55:25 -07:00
Ryan Neff d49edbcf14 Added OLED SSD1306 128x64 to the verified working table (#22112) 2023-09-23 12:18:37 +10:00
James Young 5cc5270aaf Royal Kludge RK G68 Community Layout Support (#22103)
* Rename `LAYOUT` to `LAYOUT_65_ansi`

[refactor]

* Enable Community Layout support

[enhancement]

* Touch-up keymaps

- fix keycode grid alignment

[style]

* Touch-up readme

- link to maintainer's GitHub profile
- specify codebase is for RGB version of RK G68
- update Hardware Availability links

[docs]
2023-09-22 15:59:41 -07:00
Nick Brassel abd432fd7a Allow for qmk compile -kb all. (#22022) 2023-09-22 12:12:20 +10:00
Apteryks a26e1c8b63 keymaps: Fix hacker_dvorak build. (#22102) 2023-09-21 11:17:38 -06:00
dztech 8c52bab930 add odinmini layout (#21983)
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 23:01:55 -07:00
dztech dc2315ad85 add dz60v2 keyboard (#21862)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 23:01:38 -07:00
lalalademaxiya1 363dee82d8 Keychron q9 plus (#21399)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-09-20 22:45:36 -07:00
Charles Strahan 5858efd6c9 kimiko: mirror encoder pins between halves (#21728) 2023-09-21 06:23:18 +01:00
James Young e91bf4583f Quarkeys Studio Z67 Hotswap Community Layout Support (#22096) 2023-09-20 22:16:22 -07:00
James Young f543a44836 Quarkeys Studio Z67 Solder Community Layout Support (#22095) 2023-09-20 22:15:45 -07:00
Poring 4ec3e239ba [Keyboard] Add QCK-75 (#21180)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-09-20 20:45:29 -07:00
Duncan Sutherland e56ea60058 amend 68_(ansi|iso) community_layouts in keyboards/ (#21835) 2023-09-20 20:02:32 -07:00
Joy Lee 4520a584e4 [Keyboard] Add rpk-001 keyboard (#21042)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Joy <chang.li@westberrytech.com>
2023-09-20 19:38:20 -07:00
temp4gh b5b900200f Add funtions of Encoder and VIA for redragon/k667 (#21917)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: syc <squall_sha@163.com>
2023-09-20 19:36:40 -07:00
Joe Scotto 3d1b9e98a4 Add ScottoLong Keyboard (#20938)
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 19:34:16 -07:00
Joe Scotto e55220dbe0 Add ScottoMacrodeck Macropad (#20946)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 19:33:57 -07:00
Joe Scotto 9b69921491 Add ScottoFly Keyboard (#20939)
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 19:33:27 -07:00
Joe Scotto 1c62cb7b42 Add ScottoMouse Handwired Macropad (#21074)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2023-09-20 19:32:45 -07:00
Joe Scotto 4629d6a671 Add ScottoSlant Keyboard (#20942)
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 19:31:16 -07:00
Duncan Sutherland 6dc482b197 apply 66_(ansi|iso) to keyboards (#21834) 2023-09-20 19:14:00 -07:00
Dan Ford 22c576b40b [Keyboard] add Quokka keyboard (#20979)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-20 19:11:24 -07:00
peepeetee fffea62005 [Keyboard] Momokai Aurora (#20419)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2023-09-20 19:03:32 -07:00
Joel Challis cdff9b8da7 Restrict "feature" and "animation" keys (#21895) 2023-09-20 14:13:51 +01:00
Duncan Sutherland 16ad362e67 amend 96_(ansi|iso) community_layouts in keyboards/ (#22066) 2023-09-20 03:38:36 -07:00
James Young 05dfe9f9c5 Alchemist Keyboards OGRN Layout Addition (#22080)
* Add layout/matrix diagram

[docs]

* Friendly-format `info.json`

[style]

* Add `LAYOUT_ortho_5x4`

[enhancement]

* Touch-up keymaps

- update grid-alignment (layer-to-layer consistency)
- fix box drawings

[style]

* Extend Community Layout support

Add `ortho_5x4` to supported Community Layouts.

[enhancement]
2023-09-19 23:35:37 -07:00
James Young 2742935c54 SapuSeven MacroPad12: rename LAYOUT to LAYOUT_ortho_3x4 (#22081) 2023-09-20 00:42:12 +01:00
Deddia Permana 8c92c0a59d Add OLED logo DP3000 macropad (#21936) 2023-09-19 17:08:58 -06:00
James Young 4ce3a1c1e9 Ubest VN Community Layout Support (#22070)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_65_ansi_split_bs`

[enhancement]

* Add `LAYOUT_65_ansi`

[enhancement]

* Add `LAYOUT_65_iso_split_bs`

[enhancement]

* Add `LAYOUT_65_iso`

[enhancement]

* Enable Community Layout support

[enhancement]

* Touch-up keymaps

- apply four-space indent
- grid-align keycodes

[style]
2023-09-19 15:08:09 -07:00
James Young 56a87efbac DZTech Pluto Community Layout support (#22069)
* Add layout/matrix diagram

[docs]

* Friendly-format `info.json`

- apply four-space indent
- sort JSON keys in layout objects

[style]

* Correct `LAYOUT_all` data

Correct key sizes/positions of:

- ANSI Backslash [1, 13]
- ANSI Enter [1, 14]
- Fn [3, 13]

[chore]

* Correct `LAYOUT_iso` data

Correct position of Fn key [3, 13].

[chore]

* Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_tsangan`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_wkl`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_tsangan`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_wkl`

[enhancement]

* Enable Community Layout support

[enhancement]

* Touch-up keymaps

Update keycode grid alignment.

[style]
2023-09-19 14:32:16 -07:00
Shandon Anderson ef31109ad2 [Keyboard] Add riot pad (#22060)
Co-authored-by: ShandonCodes <shandon@shandon.codes>
2023-09-18 18:00:11 -07:00
Dasky 16f2a3e2f8 Add missing gpio include to ps2 vendor (#22063) 2023-09-18 19:55:51 +01:00
Filip Sund 48b4ce6ddb Adding support for the Pteron56 (PCB) keyboard (#21731) 2023-09-18 13:52:48 +01:00
James Young cd095c817e Wolf Ziggurat Layout Additions (#22053)
* Add layout/matrix diagram

[docs]

* Friendly-format `info.json`

[style]

* Touch-up layout data

Move the ISO Hash key to the main key area.

[chore]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_65_xt_ansi_blocker_tsangan`

[enhancement]

* Add `LAYOUT_65_xt_iso_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_65_xt_iso_blocker_tsangan`

[enhancement]
2023-09-17 21:57:03 -07:00
James Young 6ba53f661a Wolf Silhouette Community Layout Support (#22052)
* Add layout/matrix diagram

[docs]

* Friendly-format `info.json`

[style]

* Touch-up layout data

Move the ISO Hash key to the main key area.

[chore]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_tsangan`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_ansi_wkl`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_tsangan`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_nofrow_iso_wkl`

[enhancement]

* Enable Community Layout support

[enhancement]
2023-09-17 21:26:13 -07:00
James Young 25df4ba6bd Wolf Neely65 Touch-Up (#22045)
* Add layout/matrix diagram

[docs]

* Friendly-format `info.json`

[style]

* Touch-up keymaps

- grid-align keycodes
- use QMK-native keycode aliases

[refactor]

* Fix keymaps

Fix keycodes being assigned out of order with respect to `info.json`.

- move XT function keys to left side
- move keycodes for position [2, 14] from Home Row to Number Row

[bugfix]

* Rename `LAYOUT` to `LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs`

[refactor]

* Add `LAYOUT_65_xt_ansi_blocker_tsangan_wkl`

[enhancement]
2023-09-17 20:50:14 -07:00
James Young b5181e3d06 Viktus Styrka Topre Layout Standardization and Touch-Up (#22044)
* Add layout/matrix diagram

[docs]

* Alias `LAYOUT_all` to `LAYOUT_split_6u`

`LAYOUT_all` and `LAYOUT_split_6u` represent the same matrix positions
and sequence, so implement the former as an alias.

[refactor]

* Touch-up keymaps

- grid-align keycodes
- use QMK-native keycode aliases

[chore]

* Friendly-format `info.json`

[style]

* Correct layout data

Correct key sizes/positioning on the bottom row.

[chore]

* Rename `LAYOUT_2u_6u` to `LAYOUT_65_xt_ansi_blocker`

[refactor]

* Rename `LAYOUT_2u_7u` to `LAYOUT_65_xt_ansi_blocker_tsangan`

[refactor]

* Rename `LAYOUT_split_6u` to `LAYOUT_65_xt_ansi_blocker_split_bs`

[refactor]

* Rename `LAYOUT_split_7u` to `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs`

[refactor]
2023-09-17 20:17:51 -07:00
Controller Works 6129f5f68b Add all RGB Matrix Animations to city42 (#21992) 2023-09-17 11:41:26 -06:00
Moritz Plattner 652c5a9410 geistmaschine/macropod: fix issues waking up after suspend on apple devices (#22023) 2023-09-17 11:35:29 -06:00
Yak 9f9ad95fb4 Fix paragon encoder pinout for soldered version (#22043) 2023-09-17 11:32:44 -06:00
Constantine Karos 1fbd45a594 Add missing gpio and chibios defs to uart.h (#22033) 2023-09-17 13:18:26 +01:00
Joel Challis 39fafdac0f Move Digitizer to "Software Features" (#22031) 2023-09-17 08:11:32 +01:00
James Young 4162d1f056 Sho Studios ARC Layout Addition (#22037)
* Add layout/matrix diagram

[docs]

* Format `info.json`

Apply four-space indent.

[style]

* Add `LAYOUT_ansi_split_bs`

[enhancement]
2023-09-16 14:19:09 -07:00
James Young 6b1b746f66 RuckerMachine RM Fullsize Layout Additions (#22036)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_fullsize_108_ansi`

[enhancement]

* Add `LAYOUT_fullsize_108_ansi_tsangan`

[enhancement]
2023-09-16 13:41:40 -07:00
James Young 71d5d14c13 Rico Phoenix Project No. 1 Layout Additions (#22035)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_65_ansi_rwkl_split_bs`

[enhancement]

* Add `LAYOUT_65_ansi_rwkl`

[enhancement]

* Add `LAYOUT_65_ansi_wkl_split_bs`

[enhancement]

* Add `LAYOUT_65_ansi_wkl`

[enhancement]

* Add `LAYOUT_65_iso_rwkl_split_bs`

[enhancement]

* Add `LAYOUT_65_iso_rwkl`

[enhancement]

* Add `LAYOUT_65_iso_wkl_split_bs`

[enhancement]

* Add `LAYOUT_65_iso_wkl`

[enhancement]
2023-09-15 16:39:34 -07:00
James Young 4767554562 Raindrop Layout Updates (#22032)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT_all` to `LAYOUT_64_ansi_split_bs`

[refactor]

* Add `LAYOUT_60_ansi_split_bs_rshift`

[enhancement]
2023-09-15 15:25:52 -07:00
TreasureTypes d83ac7a124 [Keyboard] Adding Treasure TYPE-9 series III (#21748)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-09-15 14:44:41 -07:00
ziptyze 29d1a2cc51 [Keyboard] add 1upkeyboards 1upslider8 (#21546)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-09-15 11:56:41 -07:00
harveysch e7ae5ec07c [Keyboard] Add splitkb.com's Aurora Helix (#21871)
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-09-15 11:34:21 -07:00
James Young 49f1cbd40e Neson Design Nico Layout Additions (#22027)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_65_xt_ansi_blocker_split_bs`

[refactor]

* Add `LAYOUT_65_xt_ansi_blocker`

[enhancement]

* Add `LAYOUT_65_xt_ansi_blocker_tsangan`

[enhancement]

* Add `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs`

[enhancement]

* Touch-up keymaps

- grid-align keycodes
- use four-space indent
- use QMK-native keycode aliases

[refactor]

* Update `via` keymap

Update the `via` keymaps to have the same key assignments as the
`default` keymap, which is more fleshed out.

[chore]
2023-09-15 00:47:10 -07:00
James Young 06dfa1cafc Nix Studio Lilith Layout Additions (#22028)
* Add layout/matrix diagram

[docs]

* Sort keys in `info.json`

[style]

* Add `LAYOUT_65_ansi_blocker_split_bs`

[enhancement]

* Add `LAYOUT_65_ansi_blocker_tsangan`

[enhancement]

* Add `LAYOUT_65_iso_blocker_split_bs`

[enhancement]

* Add `LAYOUT_65_iso_blocker_tsangan_split_bs`

[enhancement]

* Extend Community Layout support

[enhancement]
2023-09-14 23:18:28 -07:00
James Young 598303fa95 OwLab Jelly Evolv Solder Layout Additions (#22029)
* Add layout/matrix diagram

[docs]

* Friendly-format `info.json`

[style]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_ansi_blocker`

[enhancement]

* Add `LAYOUT_ansi_blocker_split_bs`

[enhancement]

* Add `LAYOUT_ansi_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_ansi_blocker_tsangan`

[enhancement]

* Add `LAYOUT_iso_blocker`

[enhancement]

* Add `LAYOUT_iso_blocker_split_bs`

[enhancement]

* Add `LAYOUT_iso_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_iso_blocker_tsangan`

[enhancement]
2023-09-14 18:07:48 -07:00
James Young 3d86b92511 QVEX Tech Lynepad2 Layout Update (#22030)
* Add layout/matrix diagram

[docs]

* Update layout data

Update layout data to disambiguate the key/joystick/thumbpad functions
in Configurator.

[chore]
2023-09-14 23:47:03 +01:00
Andrew Kannan 46d679ab11 qmk format-json: Add an in-place mode to format json command (#21610) 2023-09-14 21:38:42 +01:00
James Young 4f26a8b308 MonsGeek M1: Correct layout data (#22026)
Apply vertical offset to the arrow keys.

[chore]
2023-09-14 21:37:24 +01:00
James Young 58c2dae32e Mode M256-WH Community Layout Support (#22019)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_65_ansi_blocker`

[refactor]

* Add `LAYOUT_65_ansi_blocker_tsangan`

[enhancement]

* Enable Community Layout support

[enhancement]
2023-09-14 12:44:07 -07:00
James Young 294fc6caef Mode M256-WS Community Layout Support (#22020)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add `LAYOUT_65_ansi_blocker_split_bs`

[enhancement]

* Add `LAYOUT_65_ansi_blocker`

[enhancement]

* Add `LAYOUT_65_ansi_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_65_ansi_blocker_tsangan`

[enhancement]

* Add `LAYOUT_65_iso_blocker_split_bs`

[enhancement]

* Add `LAYOUT_65_iso_blocker`

[enhancement]

* patch `LAYOUT_65_iso_blocker_split_bs`

* patch `LAYOUT_65_iso_blocker`

* Add `LAYOUT_65_iso_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_65_iso_blocker_tsangan`

[enhancement]

* Enable Community Layout support

[enhancement]
2023-09-14 12:07:22 -07:00
James Young 269c7b6e5b Mechlovin Zed65 910 Layout Standardization (#22018)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT_65_iso_tsangan_split_bs` to `LAYOUT_iso_split_bs`

[refactor]

* Rename `LAYOUT_65_ansi_tsangan` to `LAYOUT_ansi`

[refactor]

* Rename `LAYOUT_65_ansi_blocker_tsangan` to `LAYOUT_ansi_blocker_tsangan`

[refactor]

* Rename `LAYOUT_65_ansi_tsangan_split_bs` to `LAYOUT_all`

[refactor]
2023-09-14 10:57:44 -07:00
James Young cfe52b6e6e Maze Studio Jocker 1800 Layout Additions (#22016)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_ansi_split_bs`

[refactor]

* Add `LAYOUT_ansi`

[enhancement]

* Add `LAYOUT_ansi_wkl_split_bs`

[enhancement]

* Add `LAYOUT_ansi_wkl`

[enhancement]
2023-09-14 10:20:14 -07:00
James Young 78eb69ead5 Linworks Fave60a Community Layout Support (#22015)
* Friendly-format `info.json`

[style]

* Correct layout data

[chore]

* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_60_tsangan_hhkb`

[refactor]

* Add `LAYOUT_60_ansi_tsangan`

[enhancement]

* Enable Community Layout support

[enhancement]
2023-09-14 02:48:09 -07:00
James Young 02e6c04ac2 Krado Industries Promenade Layout Additions (#22014)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Correct key order

[bugfix]

* Add `LAYOUT_2x2u`

[enhancement]

* Add `LAYOUT_2x3u`

[enhancement]

* Add `LAYOUT_6u_space`

[enhancement]

* Add `LAYOUT_7u_space`

[enhancement]

* Touch-up `via` keymap

Update keycode grid alignment to match the `default` keymap.

[style]
2023-09-14 02:16:04 -07:00
Luis Garcia e67a4ba7ce Update to 'peterfalken' userspace configurations (#21836) 2023-09-14 13:08:00 +10:00
James Young 9f0f39555c Kopibeng XT87 Layout Additions & Touch-Up (#22002)
* Add `LAYOUT_tkl_ansi_wkl_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_ansi_wkl`

[enhancement]

* Add `LAYOUT_tkl_iso_wkl_split_bs_rshift`

[enhancement]

* Add `LAYOUT_tkl_iso_wkl`

[enhancement]

* Correct layout data

Correct key positioning on the function row.

[enhancement]

* Friendly-format `info.json`

[style]

* Move ISO Enter to Home Row

Corrects the implementation of the ISO Community Layouts.

[bugfix]
2023-09-13 19:43:31 -07:00
James Young f4a702e49f Kibou Suisei Layout Addition (#22001)
* Add layout/matrix diagram

[docs]

* Rename `LAYOUT` to `LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs`

[refactor]

* Add `LAYOUT_65_ansi_blocker_tsangan_wkl`

[enhancement]
2023-09-13 18:06:19 -07:00
James Young 32f060366f Keebio NyquistPad Layout Updates (#22000)
* Rename `LAYOUT` to `LAYOUT_ortho_5x6`

[refactor]

* Add `LAYOUT_ortho_5x6_1x2u`

[enhancement]
2023-09-13 17:47:25 -07:00
James Young c6841a51de Jaykeeb Sebelas: Standardize Layout Names (#21999)
* Rename `LAYOUT_65_ansi_blocker` to `LAYOUT_ansi_blocker`

[refactor]

* Rename `LAYOUT_65_ansi_blocker_split_bs` to `LAYOUT_ansi_blocker_split_bs`

[refactor]

* Rename `LAYOUT_65_ansi_blocker_tsangan` to `LAYOUT_ansi_blocker_tsangan`

[refactor]

* Rename `LAYOUT_65_ansi_blocker_tsangan_split_bs` to `LAYOUT_ansi_blocker_tsangan_split_bs`

[refactor]
2023-09-13 14:54:46 -07:00
James Young 33d7fa1180 Inland MK47 Community Layout Support (#21998)
* Rename `LAYOUT` to `LAYOUT_planck_mit`

[refactor]

* Enable Community Layout support

[enhancement]

* Touch-up keymaps

- grid-align keycodes

[style]
2023-09-13 13:44:05 -07:00
James Young e6ce481179 Handwired ScottoKeebs Configurator Updates (#21990)
* ScottoKeebs ScottoAlp: Correct layout data

[enhancement]

* ScottoKeebs ScottoCMD: Correct layout data

[enhancement]

* ScottoKeebs ScottoErgo: Correct layout data

Add hand separation and vertical stagger to the layout data.

[enhancement]

* ScottoKeebs ScottoFrog: Correct layout data

[enhancement]

* ScottoKeebs ScottoGame: Correct layout data

[enhancement]

* ScottoKeebs ScottoInvader: Correct layout data

[enhancement]

* ScottoKeebs ScottoNum: Correct layout data

[enhancement]

* ScottoKeebs ScottoSplit: Correct layout data

[enhancement]

* ScottoKeebs ScottoStarter: Correct layout data

[enhancement]
2023-09-12 23:05:10 -07:00
James Young 4468662d64 Gray Studio Think65 v3 Layout Additions (#21930)
* Add layout/matrix diagram

[docs]

* Format `info.json` as strict JSON

[style]

* Add `LAYOUT_all`

[enhancement]

* Refactor keymaps to use `LAYOUT_all`

Refactor the `default` and `via` keymaps to use the `LAYOUT_all` macro.

- change second Left Shift key to `KC_NUBS`
- insert `KC_NUHS` keycode
- update keycode grid alignment
- remove trailing whitespace

[refactor]

* Rename `LAYOUT_65_blocker` to `LAYOUT_ansi_blocker`

[refactor]

* Rename `LAYOUT_65_iso_blocker` to `LAYOUT_iso_blocker`

[refactor]

* Correct `LAYOUT_iso_blocker` matrix data

The Quote key was mapped as [1, 14] instead of [2, 12].

[bugfix]

* Add `LAYOUT_ansi_blocker_split_bs`

[enhancement]

* Add `LAYOUT_ansi_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_ansi_blocker_tsangan`

[enhancement]

* Add `LAYOUT_iso_blocker_split_bs`

[enhancement]

* Add `LAYOUT_iso_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_iso_blocker_tsangan`

[enhancement]
2023-09-12 13:57:25 -07:00
James Young 91e0e46e4a Drewkeys Mercury65 Layout Additions (#21924)
* Rename `LAYOUT` to `LAYOUT_all`

[refactor]

* Add layout/matrix diagram

[docs]

* Correct `LAYOUT_all` data

Correct the order of the Up arrow and End keys.

[enhancement]

* Tidy-up `info.json` formatting

- add line breaks between physical rows
- remove trailing spaces

[style]

* Add `LAYOUT_iso_blocker_split_bs`

[enhancement]

* Add `LAYOUT_iso_blocker_tsangan_split_bs`

[enhancement]

* Add `LAYOUT_ansi_blocker_split_bs`

[enhancement]

* Add `LAYOUT_ansi_blocker_tsangan_split_bs`

[enhancement]
2023-09-12 12:57:45 -07:00
378 changed files with 25001 additions and 3223 deletions
+4
View File
@@ -29,6 +29,10 @@
"minLength": 1,
"maxLength": 250
},
"snake_case": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*$"
},
"layout_macro": {
"oneOf": [
{
+8 -1
View File
@@ -256,7 +256,11 @@
"enabled": {"type": "boolean"}
}
},
"features": {"$ref": "qmk.definitions.v1#/boolean_array"},
"features": {
"$ref": "qmk.definitions.v1#/boolean_array",
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
},
"indicators": {
"type": "object",
"properties": {
@@ -370,6 +374,7 @@
"properties": {
"animations": {
"type": "object",
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
"additionalProperties": {
"type": "boolean"
}
@@ -419,6 +424,7 @@
"properties": {
"animations": {
"type": "object",
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
"additionalProperties": {
"type": "boolean"
}
@@ -471,6 +477,7 @@
"properties": {
"animations": {
"type": "object",
"propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" }
"additionalProperties": {
"type": "boolean"
}
+1 -1
View File
@@ -80,6 +80,7 @@
* [Caps Word](feature_caps_word.md)
* [Combos](feature_combo.md)
* [Debounce API](feature_debounce_type.md)
* [Digitizer](feature_digitizer.md)
* [EEPROM](feature_eeprom.md)
* [Key Lock](feature_key_lock.md)
* [Key Overrides](feature_key_overrides.md)
@@ -115,7 +116,6 @@
* [Bootmagic Lite](feature_bootmagic.md)
* [Converters](feature_converters.md)
* [Custom Matrix](custom_matrix.md)
* [Digitizer](feature_digitizer.md)
* [DIP Switch](feature_dip_switch.md)
* [Encoders](feature_encoders.md)
* [Haptic Feedback](feature_haptic_feedback.md)
+1
View File
@@ -10,6 +10,7 @@ Tested combinations:
|SSD1306 |128x32 |AVR |Primary support |
|SSD1306 |128x64 |AVR |Verified working |
|SSD1306 |128x32 |Arm | |
|SSD1306 |128x64 |Arm |Verified working |
|SH1106 |128x64 |AVR |No scrolling |
|SH1107 |64x128 |AVR |No scrolling |
|SH1107 |64x128 |Arm |No scrolling |
+23
View File
@@ -155,6 +155,29 @@ In your keyboard config.h:
#endif
```
### RP2040 PIO Version :id=rp2040-pio-version
The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using the integrated PIO peripheral and is therefore only available on this MCU.
There are strict requirements for pin ordering but any pair of GPIO pins can be used. The GPIO used for clock must be directly after data, see the included info.json snippet for an example of correct order.
You may optionally switch the PIO peripheral used with the following define in config.h:
```c
#define PS2_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the PS2 implementation uses the PIO0 peripheral
```
Example info.json content:
```json
"ps2": {
"clock_pin": "GP1",
"data_pin": "GP0",
"driver": "vendor",
"enabled": true,
"mouse_enabled": true
}
```
## Additional Settings :id=additional-settings
### PS/2 Mouse Features :id=ps2-mouse-features
+1
View File
@@ -80,6 +80,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- Encoder Configuration
- Bootmagic Configuration
- LED Indicator Configuration
- Run `qmk format-json` on this file before submitting your PR. Be sure to append the `-i` flag to directly modify the file, or paste the outputted code into the file.
- `readme.md`
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
- flash command is present, and has `:flash` at end
+3
View File
@@ -19,6 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# include "spi_master.h"
#elif defined(OLED_TRANSPORT_I2C)
# include "i2c_master.h"
# if defined(USE_I2C) && defined(SPLIT_KEYBOARD)
# include "keyboard.h"
# endif
#endif
#include "oled_driver.h"
#include OLED_FONT_H
@@ -0,0 +1,400 @@
/* Copyright 2022 ziptyze
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "analog.h"
#include "qmk_midi.h"
#include "quantum.h"
#include "quantum/midi/midi.h"
#include "quantum/midi/midi_device.h"
uint8_t divisor = 0;
void slider(void) {
if (divisor++) { // only run the slider function 1/256 times it's called
return;
}
midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3));
uprintf("%d string", analogReadPin(SLIDER_PIN));
}
void housekeeping_task_kb(void) {
slider();
housekeeping_task_user();
}
static uint32_t oled_logo_timer = 0;
static bool clear_logo = true;
static const char PROGMEM my_logo[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
0xE0, 0xF0, 0x70, 0x70, 0x70, 0x70,
0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x63, 0xE7, 0xE7, 0xCE, 0xCE,
0xCE, 0xCE, 0xFC, 0xFC, 0x78, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC1,
0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0x07, 0x07, 0x07, 0x07,
0x07, 0x07, 0x07, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFC, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C,
0x1C, 0x3C, 0xF8, 0xF8, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x70,
0x70, 0x70, 0x70, 0x78, 0x3F, 0x3F,
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
0xF0, 0xF0, 0x70, 0x70, 0x70, 0x70,
0x70, 0x70, 0x70, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE,
0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0xC1, 0xC1, 0xC1,
0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x81,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0x39, 0x39, 0x79, 0xF9, 0xF9,
0xDF, 0x9F, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0x07, 0x07, 0x00, 0x00, 0x00,
0x00, 0x03, 0x07, 0x07, 0x06, 0x04,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1C, 0xBE,
0xFF, 0x63, 0x63, 0xFF, 0xBE, 0x1C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0x0F, 0x1F, 0x18, 0x18, 0x1F,
0x0F, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_270;
}
static const char PROGMEM ou_logo[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFC, 0xFC, 0xCF, 0xCF,
0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF,
0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03,
0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03,
0x03, 0x03, 0xF3, 0xF3, 0x03, 0x03,
0x0C, 0x0C, 0xFC, 0xFC, 0x00, 0x00,
0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0,
0xFF, 0xFF, 0xF0, 0xF0, 0xC3, 0xC3,
0xC0, 0xC0, 0xF0, 0xF0, 0xFF, 0xFF,
0xC0, 0xC0, 0xC0, 0xC0, 0xFC, 0xFC,
0x0C, 0x0C, 0x0F, 0x0F, 0x03, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static char PROGMEM caps_on[] = {
0x00, 0x00, 0x00, 0xF8, 0x04, 0x04,
0x04, 0x88, 0x00, 0x00, 0xE0, 0x58,
0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC,
0x24, 0x24, 0x24, 0x18, 0x00, 0x00,
0x98, 0x24, 0x24, 0x24, 0xC8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x00, 0x00, 0x81,
0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF1,
0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC0,
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static char PROGMEM caps_off[] = {
0x00, 0x00, 0x00, 0xF8, 0x04, 0x04,
0x04, 0x88, 0x00, 0x00, 0xE0, 0x58,
0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC,
0x24, 0x24, 0x24, 0x18, 0x00, 0x00,
0x98, 0x24, 0x24, 0x24, 0xC8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x00, 0x00, 0x81,
0xC0, 0xE0, 0xF0, 0x70, 0x30, 0x31,
0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC0,
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E,
0x3C, 0x38, 0x30, 0x30, 0x30, 0x30,
0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static const char PROGMEM num_on[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00,
0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
0x00, 0x00, 0xFC, 0x18, 0x60, 0x80,
0x60, 0x18, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x81,
0xC0, 0xE0, 0xF0, 0xF0, 0xF1, 0xF1,
0xF1, 0xF0, 0xF0, 0xF0, 0xE1, 0xC0,
0x80, 0x01, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static const char PROGMEM num_off[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00,
0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC,
0x00, 0x00, 0xFC, 0x18, 0x60, 0x80,
0x60, 0x18, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x81,
0xC0, 0xE0, 0xF0, 0x70, 0x31, 0x31,
0x31, 0x30, 0x70, 0xF0, 0xE1, 0xC0,
0x80, 0x01, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E,
0x3C, 0x38, 0x30, 0x30, 0x30, 0x30,
0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static const char PROGMEM scrl_on[] = {
0x00, 0x00, 0x00, 0x98, 0x24, 0x24,
0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04,
0x04, 0x04, 0x88, 0x00, 0x00, 0xFC,
0x24, 0x24, 0xE4, 0x18, 0x00, 0x00,
0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x00, 0x00, 0x80,
0xC0, 0xE1, 0xF1, 0xF1, 0xF0, 0xF0,
0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC1,
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static const char PROGMEM scrl_off[] = {
0x00, 0x00, 0x00, 0x98, 0x24, 0x24,
0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04,
0x04, 0x04, 0x88, 0x00, 0x00, 0xFC,
0x24, 0x24, 0xE4, 0x18, 0x00, 0x00,
0x00, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x01, 0x00, 0x00, 0x80,
0xC0, 0xE1, 0xF1, 0x71, 0x30, 0x30,
0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC1,
0x80, 0x00, 0x00, 0x01, 0x01, 0x01,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E,
0x3C, 0x38, 0x30, 0x30, 0x30, 0x30,
0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
static void render_oled(void) {
const int combined_size = sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off) + sizeof(scrl_off);
char combined[combined_size];
led_t led_state = host_keyboard_led_state();
memcpy_P(combined, ou_logo, sizeof(ou_logo));
if (led_state.caps_lock) {
memcpy_P(combined + sizeof(ou_logo), caps_on, sizeof(caps_off));
}
else {
memcpy_P(combined + sizeof(ou_logo), caps_off, sizeof(caps_off));
}
if (led_state.num_lock) {
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_on, sizeof(num_off));
}
else {
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_off, sizeof(num_off));
}
if (led_state.scroll_lock) {
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_on, sizeof(scrl_off));
}
else {
memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_off, sizeof(scrl_off));
}
oled_write_raw_P(combined, sizeof(combined));
}
void render_logo(void) {
oled_write_raw_P(my_logo, sizeof(my_logo));
}
void clear_screen(void) {
if (clear_logo){
for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
}
}
clear_logo = false;
}
}
#define MIDI_CONTROL_CHANGE 0xB0
MidiDevice _midi_device;
void midi_callback(uint8_t cable, uint8_t *midi_data, uint16_t length) {
// Check if this is a MIDI CC message on channel 2
if ((midi_data[0] & 0xF0) == MIDI_CONTROL_CHANGE && midi_data[0] & (0x0F == 1)) {
uprintf("%s string", midi_data );
// ...
}
}
void slider8_cc_callback(struct _midi_device *dev, uint8_t cable, uint8_t code_index, uint8_t value) {
midi_callback(MIDI_CONTROL_CHANGE, &value, 1);
}
void init_timer(void){
oled_logo_timer = timer_read32();
};
void keyboard_post_init_kb(void) {
init_timer();
keyboard_post_init_user();
}
void matrix_init_kb(void) {
midi_register_cc_callback(&_midi_device, slider8_cc_callback);
matrix_init_user();
}
#ifndef SHOW_LOGO
# define SHOW_LOGO 5000
#endif
bool oled_task_kb(void) {
if (!oled_task_user()) { return false; }
if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
render_logo();
}else{
clear_screen();
render_oled();
}
return false;
}
@@ -0,0 +1,29 @@
/* Copyright 2023 Ziptyze
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define I2C1_SCL_PIN GP11
#define I2C1_SDA_PIN GP10
#define OLED_BRIGHTNESS 128
#define SLIDER_PIN GP28
#define MIDI_ADVANCED
#define RGB_MATRIX_LED_COUNT 8
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
@@ -0,0 +1,9 @@
// Copyright 2023 ziptyze
// SPDX-License-Identifier: GPL-2.0-or-later#pragma once
#pragma once
#define HAL_USE_I2C TRUE
#define HAL_USE_ADC TRUE
#include_next <halconf.h>
+115
View File
@@ -0,0 +1,115 @@
{
"manufacturer": "1upkeyboards",
"keyboard_name": "1upslider8",
"maintainer": "ziptyze",
"processor": "RP2040",
"bootloader": "rp2040",
"usb": {
"device_version": "1.0.0",
"pid": "0x5611",
"vid": "0x6F75"
},
"dynamic_keymap": {
"layer_count": 10
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": false,
"oled": true,
"midi":true,
"rgb_matrix": true,
"encoder": true
},
"encoder": {
"rotary": [
{
"pin_a": "GP21",
"pin_b": "GP22"
}
]
},
"matrix_pins": {
"direct": [
["GP27", "GP17", "GP18", "GP19", "GP20", "GP15", "GP14", "GP13", "GP16"]
]
},
"bootmagic": {
"matrix": [0, 1]
},
"ws2812": {
"pin": "GP26",
"driver": "vendor"
},
"rgb_matrix": {
"animations": {
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron":true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"typing_heatmap": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
},
"driver": "ws2812",
"layout": [
{ "flags": 4, "matrix": [0, 1], "x": 28, "y": 16 },
{ "flags": 4, "matrix": [0, 2], "x": 84, "y": 16 },
{ "flags": 4, "matrix": [0, 3], "x": 140, "y": 16 },
{ "flags": 4, "matrix": [0, 4], "x": 196, "y": 16 },
{ "flags": 4, "matrix": [0, 5], "x": 28, "y": 48 },
{ "flags": 4, "matrix": [0, 6], "x": 84, "y": 48 },
{ "flags": 4, "matrix": [0, 7], "x": 140, "y": 48 },
{ "flags": 4, "matrix": [0, 8], "x": 196, "y": 48 }
]
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "enc", "matrix": [0, 0], "x": 3, "y": 0 },
{ "label": "1", "matrix": [0, 1], "x": 0, "y": 1 },
{ "label": "2", "matrix": [0, 2], "x": 1, "y": 1 },
{ "label": "3", "matrix": [0, 3], "x": 2, "y": 1 },
{ "label": "4", "matrix": [0, 4], "x": 3, "y": 1 },
{ "label": "5", "matrix": [0, 5], "x": 0, "y": 2 },
{ "label": "6", "matrix": [0, 6], "x": 1, "y": 2 },
{ "label": "7", "matrix": [0, 7], "x": 2, "y": 2 },
{ "label": "8", "matrix": [0, 8], "x": 3, "y": 2 }
]
}
}
}
@@ -0,0 +1,31 @@
/* Copyright 2022 ziptyze
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
RGB_TOG,
KC_1, KC_2, KC_3, KC_4,
KC_5, KC_6, KC_7, KC_8
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
};
#endif
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
@@ -0,0 +1,31 @@
/* Copyright 2023 ziptyze
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
RGB_TOG,
KC_1, KC_2, KC_3, KC_4,
KC_5, KC_6, KC_7, KC_8
)
};
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
};
#endif
@@ -0,0 +1,3 @@
VIA_ENABLE = yes
ENCODER_MAP_ENABLE = yes
@@ -0,0 +1,11 @@
// Copyright 2023 ziptyze
// SPDX-License-Identifier: GPL-2.0-or-later#pragma once
#pragma once
#include_next <mcuconf.h>
#undef RP_I2C_USE_I2C1
#undef RP_ADC_USE_ADC1
#define RP_I2C_USE_I2C1 TRUE
#define RP_ADC_USE_ADC1 TRUE
@@ -0,0 +1,27 @@
# slider8
![slider8](https://i.imgur.com/AiVQySnh.jpg)
This keyboard is the slider8 from 1upkeyboards.com, a small macropad with an oled, slide potentiometer, rotary encoder, and 8 switches in a 2x4 ortholinear arrangement with per-key in-switch rgb leds.
The slide potentiometer presents to the computer as a midi device and will need a seperate program to map to device control.
* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze)
Make example for this keyboard (after setting up your build environment):
make 1upkeyboards/1upslider8:default
Flashing example for this keyboard:
make 1upkeyboards/1upslider8:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 2 ways:
* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
* **Physical reset button**: Hold down the button on the pi pico and plug in the keyboard
@@ -0,0 +1 @@
SRC += analog.c
+39 -6
View File
@@ -30,29 +30,62 @@
"pid": "0x4F4E",
"vid": "0x414B"
},
"community_layouts": [
"numpad_5x4"
],
"community_layouts": [
"ortho_5x4",
"numpad_5x4"
],
"layouts": {
"LAYOUT_ortho_5x4": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1, "y": 4},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [4, 3], "x": 3, "y": 4}
]
},
"LAYOUT_numpad_5x4": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"h": 2, "matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [4, 0], "w": 2, "x": 0, "y": 4},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2},
{"matrix": [4, 2], "x": 2, "y": 4},
{"h": 2, "matrix": [3, 3], "x": 3, "y": 3}
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2}
]
}
}
+6 -6
View File
@@ -6,7 +6,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───┬───┬───┐
* │TG1│ / │ * │ - │
* │NUM│ / │ * │ - │
* ├───┼───┼───┼───┤
* │ 7 │ 8 │ 9 │ │
* ├───┼───┼───┤ + │
@@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT
KC_P0, KC_PDOT, KC_PENT
),
/*
* ┌───┬───┬───┬───┐
* │TG1│ / │ * │ - │
* ────────────┤
* │NUM│ / │ * │ - │
* ────────────┤
* │Hom│ ↑ │PgU│ │
* ├───┼───┼───┤ + │
* │ ← │ │ → │ │
* ├───┼───┼──────┤
* ├───┼───┼──────┤
* │End│ ↓ │PgD│ │
* ├───┴───┼───┤Ent│
* │Insert │Del│ │
* └───────┴──────┘
* └───────┴──────┘
*/
[1] = LAYOUT_numpad_5x4(
_______, _______, _______, _______,
+5 -5
View File
@@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P7, KC_P8, KC_P9,
KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_P1, KC_P2, KC_P3,
KC_P0, KC_PDOT, KC_PENT
KC_P0, KC_PDOT, KC_PENT
),
/*
* ┌───┬───┬───┬───┐
* │ │ / │ * │ - │
* ────────────┤
* │NUM│ / │ * │ - │
* ────────────┤
* │Hom│ ↑ │PgU│ │
* ├───┼───┼───┤ + │
* │ ← │ │ → │ │
* ├───┼───┼──────┤
* ├───┼───┼──────┤
* │End│ ↓ │PgD│ │
* ├───┴───┼───┤Ent│
* │Insert │Del│ │
* └───────┴──────┘
* └───────┴──────┘
*/
[1] = LAYOUT_numpad_5x4(
_______, _______, _______, _______,
+18
View File
@@ -0,0 +1,18 @@
# Matrix Diagram for Alchemist Keyboards OGRN
```
┌───┬───┬───┬───┐
│00 │01 │02 │03 │
┌───┐ ├───┼───┼───┼───┤ ┌───┐
│ │ │10 │11 │12 │13 │ │ │
│10 │ ├───┼───┼───┼───┤ │13 │ 2u Numpad Plus
│ │ │20 │21 │22 │23 │ │ │
├───┤ ├───┼───┼───┼───┤ ├───┤
│ │ │30 │31 │32 │33 │ │ │
│30 │ ├───┼───┼───┼───┤ │33 │ 2u Numpad Enter
│ │ │40 │41 │42 │43 │ │ │
└───┘ └───┴───┴───┴───┘ └───┘
┌───────┬───────┐
│41 │42 │
└───────┴───────┘
```
+188
View File
@@ -23,6 +23,7 @@
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
"community_layouts": ["75_ansi", "75_iso"],
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -118,6 +119,99 @@
{"matrix": [5, 14], "x": 15, "y": 5}
]
},
"LAYOUT_75_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 8], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 9], "x": 10, "y": 5},
{"matrix": [5, 10], "x": 11, "y": 5},
{"matrix": [5, 11], "x": 12, "y": 5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5}
]
},
"LAYOUT_75_ansi_rwkl": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -210,6 +304,100 @@
{"matrix": [5, 14], "x": 15, "y": 5}
]
},
"LAYOUT_75_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [5, 8], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 14], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3},
{"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
{"matrix": [3, 14], "x": 15, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 11], "x": 11.25, "y": 4},
{"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 13], "x": 14, "y": 4},
{"matrix": [4, 14], "x": 15, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 9], "x": 10, "y": 5},
{"matrix": [5, 10], "x": 11, "y": 5},
{"matrix": [5, 11], "x": 12, "y": 5},
{"matrix": [5, 12], "x": 13, "y": 5},
{"matrix": [5, 13], "x": 14, "y": 5},
{"matrix": [5, 14], "x": 15, "y": 5}
]
},
"LAYOUT_75_iso_rwkl": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -3,6 +3,11 @@
"cols": ["F7", "F6", "F5", "F4", "F1", "F0", "C7", "E6", "B0", "B3", "B6", "B5", "B4", "D7", "D4", "D6"],
"rows": ["D2", "D1", "D0", "B2", "B1", "C6"]
},
"encoder": {
"rotary": [
{ "pin_a": "D3", "pin_b": "D5", "resolution": 2 }
]
},
"layouts": {
"LAYOUT_ansi_rwkl": {
"layout": [
-5
View File
@@ -18,11 +18,6 @@
},
"processor": "atmega32u4",
"url": "",
"encoder": {
"rotary": [
{ "pin_a": "D3", "pin_b": "D5", "resolution": 2 }
]
},
"usb": {
"device_version": "1.0.0",
"pid": "0x3449",
@@ -3,6 +3,11 @@
"cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B3", "D0", "D1", "D2", "D3", "D7", "D5"],
"rows": ["B2", "C7", "C6", "B6", "B5", "B4"]
},
"encoder": {
"rotary": [
{ "pin_a": "D4", "pin_b": "D6", "resolution": 2 }
]
},
"layouts": {
"LAYOUT_ansi_rwkl": {
"layout": [
+308
View File
@@ -0,0 +1,308 @@
{
"manufacturer": "Bred Works",
"keyboard_name": "Wyvern HS",
"maintainer": "DeskDaily",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["B3", "B2", "B1", "B0", "F7", "D5", "D3", "D2", "D1", "D0", "E6", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
"rows": ["B7", "F1", "F6", "F5", "F4"]
},
"processor": "atmega32u4",
"url": "https://bredworks.com/products/wyvern-hotswap-pcb",
"usb": {
"device_version": "0.0.1",
"pid": "0x0001",
"vid": "0x0571"
},
"layouts": {
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4.25, "y": 0},
{"matrix": [0, 5], "x": 5.25, "y": 0},
{"matrix": [0, 6], "x": 6.25, "y": 0},
{"matrix": [0, 7], "x": 7.25, "y": 0},
{"matrix": [0, 8], "x": 8.25, "y": 0},
{"matrix": [0, 9], "x": 9.25, "y": 0},
{"matrix": [0, 10], "x": 10.25, "y": 0},
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
{"matrix": [0, 14], "x": 14.25, "y": 0},
{"matrix": [0, 15], "x": 15.25, "y": 0},
{"matrix": [0, 16], "x": 16.25, "y": 0},
{"matrix": [0, 17], "x": 17.25, "y": 0},
{"matrix": [0, 19], "x": 19.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
{"matrix": [1, 5], "x": 5.75, "y": 1},
{"matrix": [1, 6], "x": 6.75, "y": 1},
{"matrix": [1, 7], "x": 7.75, "y": 1},
{"matrix": [1, 8], "x": 8.75, "y": 1},
{"matrix": [1, 9], "x": 9.75, "y": 1},
{"matrix": [1, 10], "x": 10.75, "y": 1},
{"matrix": [1, 11], "x": 11.75, "y": 1},
{"matrix": [1, 12], "x": 12.75, "y": 1},
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1},
{"matrix": [1, 15], "x": 15.75, "y": 1},
{"matrix": [1, 16], "x": 16.75, "y": 1},
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
{"matrix": [1, 19], "x": 19.75, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
{"matrix": [2, 5], "x": 6, "y": 2},
{"matrix": [2, 6], "x": 7, "y": 2},
{"matrix": [2, 7], "x": 8, "y": 2},
{"matrix": [2, 8], "x": 9, "y": 2},
{"matrix": [2, 9], "x": 10, "y": 2},
{"matrix": [2, 10], "x": 11, "y": 2},
{"matrix": [2, 11], "x": 12, "y": 2},
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 13], "x": 14, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
{"matrix": [2, 19], "x": 19.75, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "h": 2},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
{"matrix": [3, 5], "x": 5.5, "y": 3},
{"matrix": [3, 6], "x": 6.5, "y": 3},
{"matrix": [3, 7], "x": 7.5, "y": 3},
{"matrix": [3, 8], "x": 8.5, "y": 3},
{"matrix": [3, 9], "x": 9.5, "y": 3},
{"matrix": [3, 10], "x": 10.5, "y": 3},
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3},
{"matrix": [3, 14], "x": 14.5, "y": 3},
{"matrix": [3, 15], "x": 15.5, "y": 3},
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
{"matrix": [3, 19], "x": 19.75, "y": 3},
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
{"matrix": [4, 1], "x": 1, "y": 4},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
{"matrix": [4, 13], "x": 14.25, "y": 4},
{"matrix": [4, 14], "x": 15.25, "y": 4},
{"matrix": [4, 15], "x": 16.25, "y": 4},
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
{"matrix": [0, 18], "x": 18.25, "y": 0}
]
},
"LAYOUT_mirrored_numpad": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4.25, "y": 0},
{"matrix": [0, 5], "x": 5.25, "y": 0},
{"matrix": [0, 6], "x": 6.25, "y": 0},
{"matrix": [0, 7], "x": 7.25, "y": 0},
{"matrix": [0, 8], "x": 8.25, "y": 0},
{"matrix": [0, 9], "x": 9.25, "y": 0},
{"matrix": [0, 10], "x": 10.25, "y": 0},
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
{"matrix": [0, 14], "x": 14.25, "y": 0},
{"matrix": [0, 15], "x": 15.25, "y": 0},
{"matrix": [0, 16], "x": 16.25, "y": 0},
{"matrix": [0, 17], "x": 17.25, "y": 0},
{"matrix": [0, 19], "x": 19.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "h": 2},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
{"matrix": [1, 5], "x": 5.75, "y": 1},
{"matrix": [1, 6], "x": 6.75, "y": 1},
{"matrix": [1, 7], "x": 7.75, "y": 1},
{"matrix": [1, 8], "x": 8.75, "y": 1},
{"matrix": [1, 9], "x": 9.75, "y": 1},
{"matrix": [1, 10], "x": 10.75, "y": 1},
{"matrix": [1, 11], "x": 11.75, "y": 1},
{"matrix": [1, 12], "x": 12.75, "y": 1},
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1},
{"matrix": [1, 15], "x": 15.75, "y": 1},
{"matrix": [1, 16], "x": 16.75, "y": 1},
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
{"matrix": [1, 19], "x": 19.75, "y": 1},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
{"matrix": [2, 5], "x": 6, "y": 2},
{"matrix": [2, 6], "x": 7, "y": 2},
{"matrix": [2, 7], "x": 8, "y": 2},
{"matrix": [2, 8], "x": 9, "y": 2},
{"matrix": [2, 9], "x": 10, "y": 2},
{"matrix": [2, 10], "x": 11, "y": 2},
{"matrix": [2, 11], "x": 12, "y": 2},
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 13], "x": 14, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
{"matrix": [2, 19], "x": 19.75, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "h": 2},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
{"matrix": [3, 5], "x": 5.5, "y": 3},
{"matrix": [3, 6], "x": 6.5, "y": 3},
{"matrix": [3, 7], "x": 7.5, "y": 3},
{"matrix": [3, 8], "x": 8.5, "y": 3},
{"matrix": [3, 9], "x": 9.5, "y": 3},
{"matrix": [3, 10], "x": 10.5, "y": 3},
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3},
{"matrix": [3, 14], "x": 14.5, "y": 3},
{"matrix": [3, 15], "x": 15.5, "y": 3},
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
{"matrix": [3, 19], "x": 19.75, "y": 3},
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
{"matrix": [4, 1], "x": 1, "y": 4},
{"matrix": [4, 2], "x": 2, "y": 4, "w": 2},
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
{"matrix": [4, 13], "x": 14.25, "y": 4},
{"matrix": [4, 14], "x": 15.25, "y": 4},
{"matrix": [4, 15], "x": 16.25, "y": 4},
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
{"matrix": [0, 18], "x": 18.25, "y": 0}
]
},
"LAYOUT_regular_numpad": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4.25, "y": 0},
{"matrix": [0, 5], "x": 5.25, "y": 0},
{"matrix": [0, 6], "x": 6.25, "y": 0},
{"matrix": [0, 7], "x": 7.25, "y": 0},
{"matrix": [0, 8], "x": 8.25, "y": 0},
{"matrix": [0, 9], "x": 9.25, "y": 0},
{"matrix": [0, 10], "x": 10.25, "y": 0},
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
{"matrix": [0, 14], "x": 14.25, "y": 0},
{"matrix": [0, 15], "x": 15.25, "y": 0},
{"matrix": [0, 16], "x": 16.25, "y": 0},
{"matrix": [0, 17], "x": 17.25, "y": 0},
{"matrix": [0, 19], "x": 19.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1, "h": 2},
{"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5},
{"matrix": [1, 5], "x": 5.75, "y": 1},
{"matrix": [1, 6], "x": 6.75, "y": 1},
{"matrix": [1, 7], "x": 7.75, "y": 1},
{"matrix": [1, 8], "x": 8.75, "y": 1},
{"matrix": [1, 9], "x": 9.75, "y": 1},
{"matrix": [1, 10], "x": 10.75, "y": 1},
{"matrix": [1, 11], "x": 11.75, "y": 1},
{"matrix": [1, 12], "x": 12.75, "y": 1},
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [1, 14], "x": 14.75, "y": 1},
{"matrix": [1, 15], "x": 15.75, "y": 1},
{"matrix": [1, 16], "x": 16.75, "y": 1},
{"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5},
{"matrix": [1, 19], "x": 19.75, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 4], "x": 4.25, "y": 2, "w": 1.75},
{"matrix": [2, 5], "x": 6, "y": 2},
{"matrix": [2, 6], "x": 7, "y": 2},
{"matrix": [2, 7], "x": 8, "y": 2},
{"matrix": [2, 8], "x": 9, "y": 2},
{"matrix": [2, 9], "x": 10, "y": 2},
{"matrix": [2, 10], "x": 11, "y": 2},
{"matrix": [2, 11], "x": 12, "y": 2},
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 13], "x": 14, "y": 2},
{"matrix": [2, 14], "x": 15, "y": 2},
{"matrix": [2, 15], "x": 16, "y": 2},
{"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25},
{"matrix": [2, 19], "x": 19.75, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 3], "x": 3, "y": 3, "h": 2},
{"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25},
{"matrix": [3, 5], "x": 5.5, "y": 3},
{"matrix": [3, 6], "x": 6.5, "y": 3},
{"matrix": [3, 7], "x": 7.5, "y": 3},
{"matrix": [3, 8], "x": 8.5, "y": 3},
{"matrix": [3, 9], "x": 9.5, "y": 3},
{"matrix": [3, 10], "x": 10.5, "y": 3},
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3},
{"matrix": [3, 14], "x": 14.5, "y": 3},
{"matrix": [3, 15], "x": 15.5, "y": 3},
{"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75},
{"matrix": [3, 19], "x": 19.75, "y": 3},
{"matrix": [3, 17], "x": 18.5, "y": 3.25},
{"matrix": [4, 1], "x": 0, "y": 4, "w": 2},
{"matrix": [4, 2], "x": 2, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
{"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25},
{"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25},
{"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25},
{"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25},
{"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75},
{"matrix": [4, 13], "x": 14.25, "y": 4},
{"matrix": [4, 14], "x": 15.25, "y": 4},
{"matrix": [4, 15], "x": 16.25, "y": 4},
{"matrix": [4, 16], "x": 17.5, "y": 4.25},
{"matrix": [4, 17], "x": 18.5, "y": 4.25},
{"matrix": [4, 18], "x": 19.5, "y": 4.25},
{"matrix": [0, 18], "x": 18.25, "y": 0}
]
}
}
}
@@ -0,0 +1,33 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_mirrored_numpad(
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
),
[1] = LAYOUT_mirrored_numpad(
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,33 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_regular_numpad(
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_P7, KC_P8, KC_P9, KC_PPLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_P1, KC_P2, KC_P3, KC_ENT, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
KC_P0, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
),
[1] = LAYOUT_regular_numpad(
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,33 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
KC_PPLS, KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
),
[1] = LAYOUT_all(
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+23
View File
@@ -0,0 +1,23 @@
# Bredworks Wyvern HS
* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
* Hardware Supported: Atmega32u4
* Hardware Availability: [BredWorks](https://bredworks.com/products/wyvern-hotswap-pcb)
Make example for this keyboard (after setting up your build environment):
make bredworks/wyvern_hs:default
Flashing example for this keyboard:
make bredworks/wyvern_hs:default:flash
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the upper left key/esc) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+1
View File
@@ -0,0 +1 @@
# This file intentionally left blank
+1
View File
@@ -38,6 +38,7 @@
}
}
},
"community_layouts": ["split_3x5_2"],
"layouts": {
"LAYOUT_split_3x5_2": {
"layout": [
+32
View File
@@ -0,0 +1,32 @@
{
"manufacturer": "CannonKeys",
"keyboard_name": "is0GR",
"maintainer": "awkannan",
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["B3"],
"rows": ["A15"]
},
"processor": "STM32F072",
"url": "https://cannonkeys.com",
"usb": {
"device_version": "0.0.1",
"pid": "0xCA04",
"vid": "0x0028"
},
"community_layouts": ["ortho_1x1"],
"layouts": {
"LAYOUT_ortho_1x1": {
"layout": [
{"matrix": [0, 0], "x": 0.25, "y": 0, "w": 1.25, "h": 2}
]
}
}
}
@@ -0,0 +1,10 @@
// Copyright 2023 Andrew Kannan
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_1x1(
KC_ENT
),
};
@@ -0,0 +1,11 @@
// Copyright 2023 Andrew Kannan
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_1x1(
KC_ENT
),
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
+24
View File
@@ -0,0 +1,24 @@
# Alchemist Keyboards is0GR
is0GR Keyboard
Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
Hardware Supported: STM32F072CBT6 or equivalent
Make example for this keyboard (after setting up your build environment):
make cannonkeys/is0gr:default
Flashing example for this keyboard:
make cannonkeys/is0gr:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (on this board - it's the only key) and plug in the keyboard
* **Physical reset button**: Bridge the two pads labeled "RESET" on the top of the PCB using some tweezers, and hold the tweezers there until the board enters the bootloader mode
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (it isn't by default)
+2
View File
@@ -0,0 +1,2 @@
# Wildcard to allow APM32 MCU
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
+1 -1
View File
@@ -10,7 +10,7 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
"community_layouts": ["split_3x5_3" "split_3x6_3"],
"community_layouts": ["split_3x5_3", "split_3x6_3"],
"layout_aliases": {
"LAYOUT": "LAYOUT_split_3x6_3"
},
@@ -28,7 +28,7 @@
"pid": "0x2391",
"vid": "0xC1ED"
},
"community_layouts": [],
"community_layouts": ["66_ansi"],
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
+30 -12
View File
@@ -23,32 +23,50 @@
"processor": "RP2040",
"rgb_matrix": {
"animations": {
"solid_color": true,
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_sat": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"band_val": true,
"breathing": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"rainbow_moving_chevron": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"cycle_up_down": true,
"gradient_left_right": true,
"gradient_up_down": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"rainbow_moving_chevron": true,
"raindrops": true,
"solid_reactive": true,
"solid_reactive_multinexus": true,
"pixel_fractal": true,
"pixel_flow": true,
"pixel_rain": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"solid_splash": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"typing_heatmap": true
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
},
"driver": "ws2812",
"layout": [
+5 -1
View File
@@ -27,8 +27,12 @@
},
"processor": "atmega32u4",
"bootloader": "caterina",
"layout_aliases": {
"LAYOUT_split_3x6_3_2": "LAYOUT_split_3x6_3"
},
"community_layouts": ["split_3x6_3"],
"layouts": {
"LAYOUT_split_3x6_3_2": {
"LAYOUT_split_3x6_3": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0.875},
{"matrix": [0, 1], "x": 1, "y": 0.625},
@@ -31,7 +31,7 @@ enum layer_number {
#define KC_A_DEL ALT_T(KC_DEL)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_split_3x6_3_2(
[_QWERTY] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------.
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS,
//|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------|
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// `+--------+--------+--------' `--------+---------+--------+'
),
[_RAISE] = LAYOUT_split_3x6_3_2(
[_RAISE] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
_______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// `+--------+--------+--------' `--------+-------+--------+'
),
[_LOWER] = LAYOUT_split_3x6_3_2(
[_LOWER] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// `+--------+--------+--------' `--------+--------+--------+'
),
[_ADJUST] = LAYOUT_split_3x6_3_2(
[_ADJUST] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -31,7 +31,7 @@ enum layer_number {
#define KC_A_DEL ALT_T(KC_DEL)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_split_3x6_3_2(
[_QWERTY] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------.
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS,
//|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------|
@@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// `+--------+--------+--------' `--------+---------+--------+'
),
[_RAISE] = LAYOUT_split_3x6_3_2(
[_RAISE] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
_______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// `+--------+--------+--------' `--------+-------+--------+'
),
[_LOWER] = LAYOUT_split_3x6_3_2(
[_LOWER] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// `+--------+--------+--------' `--------+--------+--------+'
),
[_ADJUST] = LAYOUT_split_3x6_3_2(
[_ADJUST] = LAYOUT_split_3x6_3(
//,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+222 -2
View File
@@ -40,6 +40,7 @@
},
"processor": "atmega32a",
"bootloader": "bootloadhid",
"community_layouts": ["96_ansi", "96_iso"],
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -156,6 +157,225 @@
]
},
"LAYOUT_96_ansi": {
"layout": [
{"matrix": [5, 0], "x": 0, "y": 0},
{"matrix": [5, 2], "x": 1, "y": 0},
{"matrix": [5, 3], "x": 2, "y": 0},
{"matrix": [5, 4], "x": 3, "y": 0},
{"matrix": [5, 5], "x": 4, "y": 0},
{"matrix": [6, 0], "x": 5, "y": 0},
{"matrix": [6, 10], "x": 6, "y": 0},
{"matrix": [7, 10], "x": 7, "y": 0},
{"matrix": [7, 0], "x": 8, "y": 0},
{"matrix": [5, 11], "x": 9, "y": 0},
{"matrix": [5, 12], "x": 10, "y": 0},
{"matrix": [5, 13], "x": 11, "y": 0},
{"matrix": [5, 14], "x": 12, "y": 0},
{"matrix": [1, 13], "x": 13, "y": 0},
{"matrix": [2, 14], "x": 14, "y": 0},
{"matrix": [0, 13], "x": 15, "y": 0},
{"matrix": [7, 6], "x": 16, "y": 0},
{"matrix": [7, 8], "x": 17, "y": 0},
{"matrix": [7, 9], "x": 18, "y": 0},
{"matrix": [4, 0], "x": 0, "y": 1},
{"matrix": [4, 1], "x": 1, "y": 1},
{"matrix": [4, 2], "x": 2, "y": 1},
{"matrix": [4, 3], "x": 3, "y": 1},
{"matrix": [4, 4], "x": 4, "y": 1},
{"matrix": [4, 5], "x": 5, "y": 1},
{"matrix": [6, 1], "x": 6, "y": 1},
{"matrix": [6, 11], "x": 7, "y": 1},
{"matrix": [7, 11], "x": 8, "y": 1},
{"matrix": [7, 1], "x": 9, "y": 1},
{"matrix": [4, 10], "x": 10, "y": 1},
{"matrix": [4, 11], "x": 11, "y": 1},
{"matrix": [4, 12], "x": 12, "y": 1},
{"matrix": [4, 14], "x": 13, "y": 1, "w": 2},
{"matrix": [4, 6], "x": 15, "y": 1},
{"matrix": [4, 7], "x": 16, "y": 1},
{"matrix": [4, 8], "x": 17, "y": 1},
{"matrix": [4, 9], "x": 18, "y": 1},
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [3, 1], "x": 1.5, "y": 2},
{"matrix": [3, 2], "x": 2.5, "y": 2},
{"matrix": [3, 3], "x": 3.5, "y": 2},
{"matrix": [3, 4], "x": 4.5, "y": 2},
{"matrix": [3, 5], "x": 5.5, "y": 2},
{"matrix": [6, 2], "x": 6.5, "y": 2},
{"matrix": [6, 12], "x": 7.5, "y": 2},
{"matrix": [7, 12], "x": 8.5, "y": 2},
{"matrix": [7, 2], "x": 9.5, "y": 2},
{"matrix": [3, 10], "x": 10.5, "y": 2},
{"matrix": [3, 11], "x": 11.5, "y": 2},
{"matrix": [3, 12], "x": 12.5, "y": 2},
{"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5},
{"matrix": [3, 6], "x": 15, "y": 2},
{"matrix": [3, 7], "x": 16, "y": 2},
{"matrix": [3, 8], "x": 17, "y": 2},
{"matrix": [3, 9], "x": 18, "y": 2, "h": 2},
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 3},
{"matrix": [2, 2], "x": 2.75, "y": 3},
{"matrix": [2, 3], "x": 3.75, "y": 3},
{"matrix": [2, 4], "x": 4.75, "y": 3},
{"matrix": [2, 5], "x": 5.75, "y": 3},
{"matrix": [6, 3], "x": 6.75, "y": 3},
{"matrix": [6, 13], "x": 7.75, "y": 3},
{"matrix": [7, 13], "x": 8.75, "y": 3},
{"matrix": [7, 3], "x": 9.75, "y": 3},
{"matrix": [2, 10], "x": 10.75, "y": 3},
{"matrix": [2, 11], "x": 11.75, "y": 3},
{"matrix": [2, 13], "x": 12.75, "y": 3, "w": 2.25},
{"matrix": [2, 6], "x": 15, "y": 3},
{"matrix": [2, 7], "x": 16, "y": 3},
{"matrix": [2, 8], "x": 17, "y": 3},
{"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25},
{"matrix": [1, 1], "x": 2.25, "y": 4},
{"matrix": [1, 2], "x": 3.25, "y": 4},
{"matrix": [1, 3], "x": 4.25, "y": 4},
{"matrix": [1, 4], "x": 5.25, "y": 4},
{"matrix": [1, 5], "x": 6.25, "y": 4},
{"matrix": [6, 4], "x": 7.25, "y": 4},
{"matrix": [6, 14], "x": 8.25, "y": 4},
{"matrix": [7, 14], "x": 9.25, "y": 4},
{"matrix": [7, 4], "x": 10.25, "y": 4},
{"matrix": [1, 10], "x": 11.25, "y": 4},
{"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [6, 8], "x": 14, "y": 4},
{"matrix": [1, 6], "x": 15, "y": 4},
{"matrix": [1, 7], "x": 16, "y": 4},
{"matrix": [1, 8], "x": 17, "y": 4},
{"matrix": [1, 9], "x": 18, "y": 4, "h": 2},
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [7, 5], "x": 10, "y": 5},
{"matrix": [0, 10], "x": 11, "y": 5},
{"matrix": [0, 11], "x": 12, "y": 5},
{"matrix": [6, 6], "x": 13, "y": 5},
{"matrix": [6, 7], "x": 14, "y": 5},
{"matrix": [6, 9], "x": 15, "y": 5},
{"matrix": [0, 6], "x": 16, "y": 5},
{"matrix": [0, 8], "x": 17, "y": 5}
]
},
"LAYOUT_96_iso": {
"layout": [
{"matrix": [5, 0], "x": 0, "y": 0},
{"matrix": [5, 2], "x": 1, "y": 0},
{"matrix": [5, 3], "x": 2, "y": 0},
{"matrix": [5, 4], "x": 3, "y": 0},
{"matrix": [5, 5], "x": 4, "y": 0},
{"matrix": [6, 0], "x": 5, "y": 0},
{"matrix": [6, 10], "x": 6, "y": 0},
{"matrix": [7, 10], "x": 7, "y": 0},
{"matrix": [7, 0], "x": 8, "y": 0},
{"matrix": [5, 11], "x": 9, "y": 0},
{"matrix": [5, 12], "x": 10, "y": 0},
{"matrix": [5, 13], "x": 11, "y": 0},
{"matrix": [5, 14], "x": 12, "y": 0},
{"matrix": [1, 13], "x": 13, "y": 0},
{"matrix": [2, 14], "x": 14, "y": 0},
{"matrix": [0, 13], "x": 15, "y": 0},
{"matrix": [7, 6], "x": 16, "y": 0},
{"matrix": [7, 8], "x": 17, "y": 0},
{"matrix": [7, 9], "x": 18, "y": 0},
{"matrix": [4, 0], "x": 0, "y": 1},
{"matrix": [4, 1], "x": 1, "y": 1},
{"matrix": [4, 2], "x": 2, "y": 1},
{"matrix": [4, 3], "x": 3, "y": 1},
{"matrix": [4, 4], "x": 4, "y": 1},
{"matrix": [4, 5], "x": 5, "y": 1},
{"matrix": [6, 1], "x": 6, "y": 1},
{"matrix": [6, 11], "x": 7, "y": 1},
{"matrix": [7, 11], "x": 8, "y": 1},
{"matrix": [7, 1], "x": 9, "y": 1},
{"matrix": [4, 10], "x": 10, "y": 1},
{"matrix": [4, 11], "x": 11, "y": 1},
{"matrix": [4, 12], "x": 12, "y": 1},
{"matrix": [4, 14], "x": 13, "y": 1, "w": 2},
{"matrix": [4, 6], "x": 15, "y": 1},
{"matrix": [4, 7], "x": 16, "y": 1},
{"matrix": [4, 8], "x": 17, "y": 1},
{"matrix": [4, 9], "x": 18, "y": 1},
{"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [3, 1], "x": 1.5, "y": 2},
{"matrix": [3, 2], "x": 2.5, "y": 2},
{"matrix": [3, 3], "x": 3.5, "y": 2},
{"matrix": [3, 4], "x": 4.5, "y": 2},
{"matrix": [3, 5], "x": 5.5, "y": 2},
{"matrix": [6, 2], "x": 6.5, "y": 2},
{"matrix": [6, 12], "x": 7.5, "y": 2},
{"matrix": [7, 12], "x": 8.5, "y": 2},
{"matrix": [7, 2], "x": 9.5, "y": 2},
{"matrix": [3, 10], "x": 10.5, "y": 2},
{"matrix": [3, 11], "x": 11.5, "y": 2},
{"matrix": [3, 12], "x": 12.5, "y": 2},
{"matrix": [3, 6], "x": 15, "y": 2},
{"matrix": [3, 7], "x": 16, "y": 2},
{"matrix": [3, 8], "x": 17, "y": 2},
{"matrix": [3, 9], "x": 18, "y": 2, "h": 2},
{"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 3},
{"matrix": [2, 2], "x": 2.75, "y": 3},
{"matrix": [2, 3], "x": 3.75, "y": 3},
{"matrix": [2, 4], "x": 4.75, "y": 3},
{"matrix": [2, 5], "x": 5.75, "y": 3},
{"matrix": [6, 3], "x": 6.75, "y": 3},
{"matrix": [6, 13], "x": 7.75, "y": 3},
{"matrix": [7, 13], "x": 8.75, "y": 3},
{"matrix": [7, 3], "x": 9.75, "y": 3},
{"matrix": [2, 10], "x": 10.75, "y": 3},
{"matrix": [2, 11], "x": 11.75, "y": 3},
{"matrix": [2, 12], "x": 12.75, "y": 3},
{"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
{"matrix": [2, 6], "x": 15, "y": 3},
{"matrix": [2, 7], "x": 16, "y": 3},
{"matrix": [2, 8], "x": 17, "y": 3},
{"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [0, 3], "x": 1.25, "y": 4},
{"matrix": [1, 1], "x": 2.25, "y": 4},
{"matrix": [1, 2], "x": 3.25, "y": 4},
{"matrix": [1, 3], "x": 4.25, "y": 4},
{"matrix": [1, 4], "x": 5.25, "y": 4},
{"matrix": [1, 5], "x": 6.25, "y": 4},
{"matrix": [6, 4], "x": 7.25, "y": 4},
{"matrix": [6, 14], "x": 8.25, "y": 4},
{"matrix": [7, 14], "x": 9.25, "y": 4},
{"matrix": [7, 4], "x": 10.25, "y": 4},
{"matrix": [1, 10], "x": 11.25, "y": 4},
{"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [6, 8], "x": 14, "y": 4},
{"matrix": [1, 6], "x": 15, "y": 4},
{"matrix": [1, 7], "x": 16, "y": 4},
{"matrix": [1, 8], "x": 17, "y": 4},
{"matrix": [1, 9], "x": 18, "y": 4, "h": 2},
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [7, 5], "x": 10, "y": 5},
{"matrix": [0, 10], "x": 11, "y": 5},
{"matrix": [0, 11], "x": 12, "y": 5},
{"matrix": [6, 6], "x": 13, "y": 5},
{"matrix": [6, 7], "x": 14, "y": 5},
{"matrix": [6, 9], "x": 15, "y": 5},
{"matrix": [0, 6], "x": 16, "y": 5},
{"matrix": [0, 8], "x": 17, "y": 5}
]
},
"LAYOUT_96_ansi_2_right_mod": {
"layout": [
{"matrix": [5, 0], "x": 0, "y": 0},
{"matrix": [5, 2], "x": 1, "y": 0},
@@ -249,6 +469,7 @@
{"matrix": [1, 6], "x": 15, "y": 4},
{"matrix": [1, 7], "x": 16, "y": 4},
{"matrix": [1, 8], "x": 17, "y": 4},
{"matrix": [1, 9], "x": 18, "y": 4, "h": 2},
{"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25},
@@ -260,8 +481,7 @@
{"matrix": [6, 7], "x": 14, "y": 5},
{"matrix": [6, 9], "x": 15, "y": 5},
{"matrix": [0, 6], "x": 16, "y": 5},
{"matrix": [0, 8], "x": 17, "y": 5},
{"matrix": [0, 9], "x": 18, "y": 4, "h": 2}
{"matrix": [0, 8], "x": 17, "y": 5}
]
}
}
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_96_ansi(
[0] = LAYOUT_96_ansi_2_right_mod(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END, KC_PGDN, KC_PSLS, KC_PAST,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
@@ -24,21 +24,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
[1] = LAYOUT_96_ansi(
QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT_96_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[1] = LAYOUT_96_ansi_2_right_mod(
QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
@@ -45,7 +45,7 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_96_ansi(
[_BASE] = LAYOUT_96_ansi_2_right_mod(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_INS, KC_END, KC_MPRV, KC_MPLY, KC_MNXT,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_PSCR, KC_PSLS, KC_PAST,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
@@ -54,29 +54,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, MO(2), KC_RALT, KC_SPC, KC_CALC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
/* (1) Bmode layer */
[_B] = LAYOUT_96_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_B] = LAYOUT_96_ansi_2_right_mod(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
/* (2) Fn 1 */
[_FN1] = LAYOUT_96_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU,
ALT0, KC_TRNS, KC_TRNS, ALT1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALT2, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS,
KC_TRNS, CD, KC_TRNS, KC_TRNS, KC_TRNS, ALT3, KC_TRNS, KC_TRNS, KC_TRNS, ALT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, AES, xkcd, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_CAPS, KC_TRNS, X, KC_TRNS, img, B, KC_TRNS, ALT7, ALT5, ALT6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[_FN1] = LAYOUT_96_ansi_2_right_mod(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU,
ALT0, _______, _______, ALT1, _______, _______, _______, _______, _______, _______, _______, _______, ALT2, _______, _______, KC_NUM, _______, _______,
_______, CD, _______, _______, _______, ALT3, _______, _______, _______, ALT4, _______, _______, _______, _______, _______, _______, _______, _______,
_______, AES, xkcd, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, _______, X, _______, img, B, _______, ALT7, ALT5, ALT6, _______, _______, _______, _______, _______, _______,
_______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______),
/* (3) Fn 2 */
[_FN2] = LAYOUT_96_ansi(
[_FN2] = LAYOUT_96_ansi_2_right_mod(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, UC_WINC, EE_CLR, QK_BOOT,
VK_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
_______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
@@ -16,7 +16,7 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_96_ansi(
[0] = LAYOUT_96_ansi_2_right_mod(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_END, KC_PGDN, KC_PSLS, KC_PAST,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
@@ -24,19 +24,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT),
[1] = LAYOUT_96_ansi(
QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[2] = LAYOUT_96_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
[1] = LAYOUT_96_ansi_2_right_mod(
QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
};
@@ -0,0 +1,23 @@
# Matrix Diagram for Donutcables Budget96
```
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│50 │52 │53 │54 │55 │6A │7A │70 │5B │5C │5C │5D │5E │1D │2E │0D │76 │78 │79 │
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
│40 │41 │42 │43 │44 │45 │61 │6B │7B │71 │4A │4B │4C │4D │4E │46 │47 │48 │49 │ │4D │ 2u Backpsace
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐
│30 │31 │32 │33 │34 │35 │62 │6C │7C │72 │3A │3B │3C │3D │36 │37 │38 │39 │ │ │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐2D │ ISO Enter │39 │ Numpad "+" 2u
│20 │21 │22 │23 │24 │25 │63 │6D │7D │73 │2A │2B │2C │26 │27 │28 │29 │ │2C │ │ │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤
│10 │03 │11 │12 │13 │14 │15 │64 │6E │7E │74 │1A │1B │68 │16 │17 │18 │19 │ │ │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ ┌───────┐ │19 │ Numpad Enter 2U
│00 │01 │02 │65 │75 │0A │0B │66 │67 │69 │06 │08 │09 │ Numpad 0 2u │06 │ │ │
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───────┘ └───┘
┌────────┐ ┌──────────┐
│10 │ 2.25u LShift 2.75u RShift │1B │
└────────┘ └──────────┘
┌────┬────┬────┬────────────────────────┬─────┬─────┐
│00 │01 │02 │65 │75 │0B │ 2x1.5u Right Mod
└────┴────┴────┴────────────────────────┴─────┴─────┘
```
+63 -8
View File
@@ -15,20 +15,75 @@
*/
#include "quantum.h"
bool oled_task_kb(void) {
if (!oled_task_user()) {
return false;
}
#define LOGO_TIMEOUT 3000
static uint32_t logo_timer = 0;
static bool display_logo = true;
void dp3000_logo(void) {
static const char PROGMEM dp3000_logo[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x60, 0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60,
0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x7c, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xff, 0xff, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf0, 0xe0,
0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00, 0xff, 0xff, 0x86, 0x86, 0x86, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x98, 0x98, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0,
0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x61, 0x61, 0x61, 0xff, 0xff, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x0f, 0x07,
0x00, 0x00, 0x1f, 0x1f, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0x61, 0x61, 0x00,
0x00, 0x00, 0x00, 0x18, 0x18, 0x19, 0x19, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f,
0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06,
0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06, 0x3e, 0x3e, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
oled_write_raw_P(dp3000_logo, sizeof(dp3000_logo));
}
void default_status(void) {
oled_set_cursor(0, 0);
oled_write_P(PSTR("LAYER: "), false);
oled_write_char('0' + get_highest_layer(layer_state), false);
oled_advance_page(true);
oled_write_P(PSTR("LOCK: "), false);
led_t led_state = host_keyboard_led_state();
oled_set_cursor(0, 1);
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
oled_set_cursor(0, 2);
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
oled_set_cursor(0, 3);
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
bool oled_task_kb(void) {
if (!oled_task_user()) {
return false;
}
if (display_logo && timer_elapsed32(logo_timer) > LOGO_TIMEOUT) {
display_logo = false;
oled_clear();
logo_timer = 0;
}
if (display_logo) {
dp3000_logo();
} else {
default_status();
}
return false;
}
+22
View File
@@ -0,0 +1,22 @@
/*
* Copyright 2023 deddia permana (@depermana12)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#if !defined(OLED_TIMEOUT)
# define OLED_TIMEOUT 30000
#endif
+378 -71
View File
@@ -21,79 +21,386 @@
"cols": ["B0", "B1", "B2", "B3", "B7", "D1", "D2", "D3", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5"],
"rows": ["D5", "D4", "D6", "D0", "E6"]
},
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
"layouts": {
"LAYOUT": {
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "label":"`", "x":0, "y":0},
{"matrix": [0, 1], "label":"!", "x":1, "y":0},
{"matrix": [0, 2], "label":"@", "x":2, "y":0},
{"matrix": [0, 3], "label":"#", "x":3, "y":0},
{"matrix": [0, 4], "label":"$", "x":4, "y":0},
{"matrix": [0, 5], "label":"%", "x":5, "y":0},
{"matrix": [0, 6], "label":"^", "x":6, "y":0},
{"matrix": [0, 7], "label":"&", "x":7, "y":0},
{"matrix": [0, 8], "label":"*", "x":8, "y":0},
{"matrix": [0, 9], "label":"(", "x":9, "y":0},
{"matrix": [0, 10], "label":")", "x":10, "y":0},
{"matrix": [0, 11], "label":"_", "x":11, "y":0},
{"matrix": [0, 12], "label":"+", "x":12, "y":0},
{"matrix": [0, 13], "label":"Del", "x":13, "y":0},
{"matrix": [0, 14], "label":"Bsp", "x":14, "y":0},
{"matrix": [1, 0], "label":"Tab", "x":0, "y":1, "w":1.5},
{"matrix": [1, 2], "label":"Q", "x":1.5, "y":1},
{"matrix": [1, 3], "label":"W", "x":2.5, "y":1},
{"matrix": [1, 4], "label":"E", "x":3.5, "y":1},
{"matrix": [1, 5], "label":"R", "x":4.5, "y":1},
{"matrix": [1, 6], "label":"T", "x":5.5, "y":1},
{"matrix": [1, 7], "label":"Y", "x":6.5, "y":1},
{"matrix": [1, 8], "label":"U", "x":7.5, "y":1},
{"matrix": [1, 9], "label":"I", "x":8.5, "y":1},
{"matrix": [1, 10], "label":"O", "x":9.5, "y":1},
{"matrix": [1, 11], "label":"P", "x":10.5, "y":1},
{"matrix": [1, 12], "label":"{", "x":11.5, "y":1},
{"matrix": [1, 13], "label":"}", "x":12.5, "y":1},
{"matrix": [1, 14], "label":"|", "x":13.5, "y":1, "w":1.5},
{"matrix": [1, 16], "label":"PgUp", "x":15.5, "y":1},
{"matrix": [2, 0], "label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"matrix": [2, 2], "label":"A", "x":1.75, "y":2},
{"matrix": [2, 3], "label":"S", "x":2.75, "y":2},
{"matrix": [2, 4], "label":"D", "x":3.75, "y":2},
{"matrix": [2, 5], "label":"F", "x":4.75, "y":2},
{"matrix": [2, 6], "label":"G", "x":5.75, "y":2},
{"matrix": [2, 7], "label":"H", "x":6.75, "y":2},
{"matrix": [2, 8], "label":"J", "x":7.75, "y":2},
{"matrix": [2, 9], "label":"K", "x":8.75, "y":2},
{"matrix": [2, 10], "label":"L", "x":9.75, "y":2},
{"matrix": [2, 11], "label":":", "x":10.75, "y":2},
{"matrix": [2, 12], "label":"@", "x":11.75, "y":2},
{"matrix": [2, 13], "label":"ISO", "x":12.75, "y":2},
{"matrix": [2, 14], "label":"Enter", "x":13.75, "y":2, "w":1.25},
{"matrix": [2, 16], "label":"Home", "x":15.5, "y":2},
{"matrix": [3, 0], "label":"Shift", "x":0, "y":3, "w":1.25},
{"matrix": [3, 1], "label":"\\", "x":1.25, "y":3},
{"matrix": [3, 2], "label":"Z", "x":2.25, "y":3},
{"matrix": [3, 3], "label":"X", "x":3.25, "y":3},
{"matrix": [3, 4], "label":"C", "x":4.25, "y":3},
{"matrix": [3, 5], "label":"V", "x":5.25, "y":3},
{"matrix": [3, 6], "label":"B", "x":6.25, "y":3},
{"matrix": [3, 7], "label":"N", "x":7.25, "y":3},
{"matrix": [3, 8], "label":"M", "x":8.25, "y":3},
{"matrix": [3, 9], "label":"<", "x":9.25, "y":3},
{"matrix": [3, 10], "label":">", "x":10.25, "y":3},
{"matrix": [3, 11], "label":"?", "x":11.25, "y":3},
{"matrix": [3, 13], "label":"Shift", "x":12.25, "y":3, "w":1.75},
{"matrix": [3, 14], "label":"End", "x":15.5, "y":3},
{"matrix": [3, 16], "label":"\u2191", "x":14.25, "y":3.25},
{"matrix": [4, 0], "label":"Ctrl", "x":0, "y":4, "w":1.25},
{"matrix": [4, 1], "label":"Win", "x":1.25, "y":4, "w":1.25},
{"matrix": [4, 2], "label":"Alt", "x":2.5, "y":4, "w":1.25},
{"matrix": [4, 6], "x":3.75, "y":4, "w":6.25},
{"matrix": [4, 10], "label":"AltGr", "x":10, "y":4, "w":1.25},
{"matrix": [4, 11], "label":"Win", "x":11.25, "y":4, "w":1.25},
{"matrix": [4, 13], "label":"\u2190", "x":13.25, "y":4.25},
{"matrix": [4, 14], "label":"\u2193", "x":14.25, "y":4.25},
{"matrix": [4, 15], "label":"\u2192", "x":15.25, "y":4.25}]
{"matrix": [0, 0], "label":"`", "x":0, "y":0},
{"matrix": [0, 1], "label":"!", "x":1, "y":0},
{"matrix": [0, 2], "label":"@", "x":2, "y":0},
{"matrix": [0, 3], "label":"#", "x":3, "y":0},
{"matrix": [0, 4], "label":"$", "x":4, "y":0},
{"matrix": [0, 5], "label":"%", "x":5, "y":0},
{"matrix": [0, 6], "label":"^", "x":6, "y":0},
{"matrix": [0, 7], "label":"&", "x":7, "y":0},
{"matrix": [0, 8], "label":"*", "x":8, "y":0},
{"matrix": [0, 9], "label":"(", "x":9, "y":0},
{"matrix": [0, 10], "label":")", "x":10, "y":0},
{"matrix": [0, 11], "label":"_", "x":11, "y":0},
{"matrix": [0, 12], "label":"+", "x":12, "y":0},
{"matrix": [0, 13], "label":"Del", "x":13, "y":0},
{"matrix": [0, 14], "label":"Bsp", "x":14, "y":0},
{"matrix": [1, 0], "label":"Tab", "x":0, "y":1, "w":1.5},
{"matrix": [1, 2], "label":"Q", "x":1.5, "y":1},
{"matrix": [1, 3], "label":"W", "x":2.5, "y":1},
{"matrix": [1, 4], "label":"E", "x":3.5, "y":1},
{"matrix": [1, 5], "label":"R", "x":4.5, "y":1},
{"matrix": [1, 6], "label":"T", "x":5.5, "y":1},
{"matrix": [1, 7], "label":"Y", "x":6.5, "y":1},
{"matrix": [1, 8], "label":"U", "x":7.5, "y":1},
{"matrix": [1, 9], "label":"I", "x":8.5, "y":1},
{"matrix": [1, 10], "label":"O", "x":9.5, "y":1},
{"matrix": [1, 11], "label":"P", "x":10.5, "y":1},
{"matrix": [1, 12], "label":"{", "x":11.5, "y":1},
{"matrix": [1, 13], "label":"}", "x":12.5, "y":1},
{"matrix": [1, 14], "label":"|", "x":13.5, "y":1, "w":1.5},
{"matrix": [1, 16], "label":"PgUp", "x":15.5, "y":1},
{"matrix": [2, 0], "label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"matrix": [2, 2], "label":"A", "x":1.75, "y":2},
{"matrix": [2, 3], "label":"S", "x":2.75, "y":2},
{"matrix": [2, 4], "label":"D", "x":3.75, "y":2},
{"matrix": [2, 5], "label":"F", "x":4.75, "y":2},
{"matrix": [2, 6], "label":"G", "x":5.75, "y":2},
{"matrix": [2, 7], "label":"H", "x":6.75, "y":2},
{"matrix": [2, 8], "label":"J", "x":7.75, "y":2},
{"matrix": [2, 9], "label":"K", "x":8.75, "y":2},
{"matrix": [2, 10], "label":"L", "x":9.75, "y":2},
{"matrix": [2, 11], "label":":", "x":10.75, "y":2},
{"matrix": [2, 12], "label":"@", "x":11.75, "y":2},
{"matrix": [2, 13], "label":"ISO", "x":12.75, "y":2},
{"matrix": [2, 14], "label":"Enter", "x":13.75, "y":2, "w":1.25},
{"matrix": [2, 16], "label":"Home", "x":15.5, "y":2},
{"matrix": [3, 0], "label":"Shift", "x":0, "y":3, "w":1.25},
{"matrix": [3, 1], "label":"\\", "x":1.25, "y":3},
{"matrix": [3, 2], "label":"Z", "x":2.25, "y":3},
{"matrix": [3, 3], "label":"X", "x":3.25, "y":3},
{"matrix": [3, 4], "label":"C", "x":4.25, "y":3},
{"matrix": [3, 5], "label":"V", "x":5.25, "y":3},
{"matrix": [3, 6], "label":"B", "x":6.25, "y":3},
{"matrix": [3, 7], "label":"N", "x":7.25, "y":3},
{"matrix": [3, 8], "label":"M", "x":8.25, "y":3},
{"matrix": [3, 9], "label":"<", "x":9.25, "y":3},
{"matrix": [3, 10], "label":">", "x":10.25, "y":3},
{"matrix": [3, 11], "label":"?", "x":11.25, "y":3},
{"matrix": [3, 13], "label":"Shift", "x":12.25, "y":3, "w":1.75},
{"matrix": [3, 14], "label":"\u2191", "x":14.25, "y":3.25},
{"matrix": [3, 16], "label":"End", "x":15.5, "y":3},
{"matrix": [4, 0], "label":"Ctrl", "x":0, "y":4, "w":1.25},
{"matrix": [4, 1], "label":"Win", "x":1.25, "y":4, "w":1.25},
{"matrix": [4, 2], "label":"Alt", "x":2.5, "y":4, "w":1.25},
{"matrix": [4, 6], "x":3.75, "y":4, "w":6.25},
{"matrix": [4, 10], "label":"AltGr", "x":10, "y":4, "w":1.25},
{"matrix": [4, 11], "label":"Win", "x":11.25, "y":4, "w":1.25},
{"matrix": [4, 13], "label":"\u2190", "x":13.25, "y":4.25},
{"matrix": [4, 14], "label":"\u2193", "x":14.25, "y":4.25},
{"matrix": [4, 15], "label":"\u2192", "x":15.25, "y":4.25}
]
},
"LAYOUT_ansi_blocker_split_bs": {
"layout": [
{"label": "`", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
{"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
{"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
{"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
{"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
{"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
{"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
{"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
{"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
{"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
{"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
{"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25},
{"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
{"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25},
{"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25},
{"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25}
]
},
"LAYOUT_ansi_blocker_tsangan_split_bs": {
"layout": [
{"label": "`", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
{"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
{"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
{"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
{"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
{"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
{"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
{"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
{"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
{"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
{"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
{"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25},
{"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4},
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7},
{"label": "GUI", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25},
{"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25},
{"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25}
]
},
"LAYOUT_iso_blocker_split_bs": {
"layout": [
{"label": "`", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
{"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
{"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
{"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
{"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
{"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
{"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
{"label": "#", "matrix": [2, 13], "x": 12.75, "y": 2},
{"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
{"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
{"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
{"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25},
{"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
{"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25},
{"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25},
{"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25}
]
},
"LAYOUT_iso_blocker_tsangan_split_bs": {
"layout": [
{"label": "`", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
{"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
{"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
{"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
{"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
{"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
{"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
{"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
{"label": "Del", "matrix": [0, 13], "x": 13, "y": 0},
{"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0},
{"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1},
{"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1},
{"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1},
{"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1},
{"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1},
{"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1},
{"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1},
{"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1},
{"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1},
{"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1},
{"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1},
{"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1},
{"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1},
{"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2},
{"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2},
{"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2},
{"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2},
{"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2},
{"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2},
{"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2},
{"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2},
{"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2},
{"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2},
{"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2},
{"label": "#", "matrix": [2, 13], "x": 12.75, "y": 2},
{"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2},
{"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
{"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
{"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
{"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
{"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
{"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
{"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
{"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
{"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
{"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
{"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
{"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25},
{"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3},
{"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4},
{"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7},
{"label": "GUI", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25},
{"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25},
{"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25}
]
}
}
}
@@ -26,7 +26,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base https://i.imgur.com/viQdtbB.png */
[_BASE] = LAYOUT(
[_BASE] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN] = LAYOUT(
[_FN] = LAYOUT_all(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -26,7 +26,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base https://i.imgur.com/viQdtbB.png */
[_BASE] = LAYOUT(
[_BASE] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN1] = LAYOUT(
[_FN1] = LAYOUT_all(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -0,0 +1,25 @@
# Matrix Diagram for RocketKeyboards mercury65
```
┌───────┐
2u Backspace │?? │
└───────┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌───┐ ┌─────┐
│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │1G │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤ ┌──┴┐2E │ ISO Enter
│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │2G │ │2D │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤ └───┴────┘
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │┌───┐│3G │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│3E │└───┘
│40 │41 │42 │46 │4A │4B │ ┌───┼───┼───┐
└────┴────┴────┴────────────────────────┴────┴────┘ │4D │4E │4F │
└───┴───┴───┘
┌────────┐
│30 │ 2.25u LShift
└────────┘
┌─────┬───┬─────┬───────────────────────────┬─────┐
│40 │41 │42 │46 │4B │ Blocker Tsangan
└─────┴───┴─────┴───────────────────────────┴─────┘
```
+100 -3
View File
@@ -35,9 +35,12 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["75_ansi"],
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
"community_layouts": ["75_ansi", "75_iso"],
"layouts": {
"LAYOUT": {
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -223,7 +226,101 @@
{"matrix": [5, 13], "x": 13, "y": 5},
{"matrix": [5, 14], "x": 14, "y": 5},
{"matrix": [5, 15], "x": 15, "y": 5}
]
]
},
"LAYOUT_75_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 16], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [1, 6], "x": 6, "y": 1},
{"matrix": [1, 7], "x": 7, "y": 1},
{"matrix": [1, 8], "x": 8, "y": 1},
{"matrix": [1, 9], "x": 9, "y": 1},
{"matrix": [1, 10], "x": 10, "y": 1},
{"matrix": [1, 11], "x": 11, "y": 1},
{"matrix": [1, 12], "x": 12, "y": 1},
{"matrix": [1, 14], "x": 13, "y": 1, "w": 2},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
{"matrix": [2, 1], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [2, 3], "x": 3.5, "y": 2},
{"matrix": [2, 4], "x": 4.5, "y": 2},
{"matrix": [2, 5], "x": 5.5, "y": 2},
{"matrix": [2, 6], "x": 6.5, "y": 2},
{"matrix": [2, 7], "x": 7.5, "y": 2},
{"matrix": [2, 8], "x": 8.5, "y": 2},
{"matrix": [2, 9], "x": 9.5, "y": 2},
{"matrix": [2, 10], "x": 10.5, "y": 2},
{"matrix": [2, 11], "x": 11.5, "y": 2},
{"matrix": [2, 12], "x": 12.5, "y": 2},
{"matrix": [2, 15], "x": 15, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
{"matrix": [3, 1], "x": 1.75, "y": 3},
{"matrix": [3, 2], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [3, 4], "x": 4.75, "y": 3},
{"matrix": [3, 5], "x": 5.75, "y": 3},
{"matrix": [3, 6], "x": 6.75, "y": 3},
{"matrix": [3, 7], "x": 7.75, "y": 3},
{"matrix": [3, 8], "x": 8.75, "y": 3},
{"matrix": [3, 9], "x": 9.75, "y": 3},
{"matrix": [3, 10], "x": 10.75, "y": 3},
{"matrix": [3, 11], "x": 11.75, "y": 3},
{"matrix": [3, 12], "x": 12.75, "y": 3},
{"matrix": [3, 14], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
{"matrix": [3, 15], "x": 15, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4},
{"matrix": [4, 2], "x": 2.25, "y": 4},
{"matrix": [4, 3], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [4, 5], "x": 5.25, "y": 4},
{"matrix": [4, 6], "x": 6.25, "y": 4},
{"matrix": [4, 7], "x": 7.25, "y": 4},
{"matrix": [4, 8], "x": 8.25, "y": 4},
{"matrix": [4, 9], "x": 9.25, "y": 4},
{"matrix": [4, 10], "x": 10.25, "y": 4},
{"matrix": [4, 12], "x": 11.25, "y": 4},
{"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4},
{"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
{"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [5, 8], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [5, 10], "x": 10, "y": 5},
{"matrix": [5, 11], "x": 11, "y": 5},
{"matrix": [5, 12], "x": 12, "y": 5},
{"matrix": [5, 13], "x": 13, "y": 5},
{"matrix": [5, 14], "x": 14, "y": 5},
{"matrix": [5, 15], "x": 15, "y": 5}
]
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,34 @@
/* Copyright 2023 dztech
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_all(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,34 @@
/* Copyright 2023 dztech
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_all(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,2 @@
LTO_ENABLE = yes
VIA_ENABLE = yes
+26
View File
@@ -0,0 +1,26 @@
# DZ60 60% Mechanical Keyboard PCB
## A Customizable 60% Mechanical Keyboard PCB
* Keyboard Maintainer: QMK Community
* Hardware Supported: DZ60 60% Mechanical Keyboard PCB
* Hardware Availability: [KBDfans](https://kbdfans.com/collections/60/products/dz60-60-pcb)
There are two versions of the DZ60 PCB. Please use the appropriate firmware for your board.
* V1: 1.6mm thickness PCB;
* V2: 1.2mm thickness PCB
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix
* **Physical reset button**: Briefly press the button on the back of the PCB
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
Make example for this keyboard (after setting up your build environment):
make dztech/dz60v2:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+1
View File
@@ -0,0 +1 @@
# This file intentionally left blank
+7 -2
View File
@@ -25,8 +25,13 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layout_aliases": {
"LAYOUT_default": "LAYOUT_96_ansi",
"LAYOUT_iso": "LAYOUT_96_iso"
},
"community_layouts": ["96_ansi", "96_iso"],
"layouts": {
"LAYOUT_default": {
"LAYOUT_96_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -357,7 +362,7 @@
{"matrix": [5, 12], "x": 18, "y": 5}
]
},
"LAYOUT_iso": {
"LAYOUT_96_iso": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
+23
View File
@@ -0,0 +1,23 @@
# Matrix Diagram for Dztech Dz96
```
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│00 │01 │02 │03 │04 │60 │61 │62 │63 │05 │06 │07 │08 │72 │09 │0A │0B │0C │7C │
├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
│10 │11 │12 │13 │14 │64 │65 │66 │67 │15 │16 │17 │18 │70 │71 │19 │1A │1B │1C │ │71 │ 2u BackSpace
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐
│20 │21 │22 │23 │24 │68 │69 │6A │6B │25 │26 │27 │28 │73 │29 │2A │2B │2C │ │ │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐38 │ ISO Enter │2C │ Numpad "+" 2u
│30 │31 │32 │33 │34 │6C │75 │76 │77 │35 │36 │37 │38 │39 │3A │3B │3C │ │73 │ │ │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤
│40 │41 │42 │43 │44 │78 │79 │7A │7B │45 │46 │47 │48 │74 │49 │4A │4B │4C │ │ │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ │4C │ Numpad Enter 2U
│50 │51 │52 │59 │55 │56 │57 │58 │53 │54 │5A │5B │5C │ │ │
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───┘
┌────────┐
│40 │ 2.25u LShift
└────────┘
┌─────┬─────┬───────────────────────────┬─────┬─────┐
│50 │51 │59 │55 │57 │ 2 Mod
└─────┴─────┴───────────────────────────┴─────┴─────┘
```
File diff suppressed because it is too large Load Diff
@@ -18,10 +18,10 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};
+5 -5
View File
@@ -18,10 +18,10 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_NUHS, KC_DEL, KC_END, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};
+24
View File
@@ -0,0 +1,24 @@
# Matrix Diagram for DZTECH PLUTO
```
┌───────┐
2u Backspace │0D │
└───────┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E ││0F │2C │2D │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ ┌─────┐
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1F │2E │2F │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐1E │ ISO Enter
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1E │ │1D │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3E │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
│40 │41 │42 │47 │4A │4B │4C │4D ││3F │4E │4F │
└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
┌────────┐ ┌──────────┐
│30 │ 2.25u LShift 2.75u RShift │3C │
└────────┘ └──────────┘
┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
│40 │41 │42 │47 │4B │4C │4D │ Tsangan/WKL
└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
```
+1 -50
View File
@@ -41,54 +41,5 @@
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
"community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
"layout": [
{"x": 0, "y": 0.88},
{"x": 1, "y": 0.38},
{"x": 2, "y": 0},
{"x": 3, "y": 0.38},
{"x": 4, "y": 0.5},
{"x": 6, "y": 0.5},
{"x": 7, "y": 0.38},
{"x": 8, "y": 0},
{"x": 9, "y": 0.38},
{"x": 10, "y": 0.88},
{"x": 0, "y": 1.88},
{"x": 1, "y": 1.38},
{"x": 2, "y": 1},
{"x": 3, "y": 1.38},
{"x": 4, "y": 1.5},
{"x": 6, "y": 1.5},
{"x": 7, "y": 1.38},
{"x": 8, "y": 1},
{"x": 9, "y": 1.38},
{"x": 10, "y": 1.88},
{"x": 0, "y": 2.88},
{"x": 1, "y": 2.38},
{"x": 2, "y": 2},
{"x": 3, "y": 2.38},
{"x": 4, "y": 2.5},
{"x": 6, "y": 2.5},
{"x": 7, "y": 2.38},
{"x": 8, "y": 2},
{"x": 9, "y": 2.38},
{"x": 10, "y": 2.88},
{"x": 2, "y": 3.25},
{"x": 3, "y": 3.38},
{"x": 4, "y": 3.5},
{"x": 6, "y": 3.5},
{"x": 7, "y": 3.38},
{"x": 8, "y": 3.25}
]
}
}
"community_layouts": ["split_3x5_3"]
}
+29
View File
@@ -0,0 +1,29 @@
/* Copyright 2023 eerraa
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* BACKLIGHT PWM */
#define BACKLIGHT_PWM_DRIVER PWMD7
#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
/* RGB Matrix */
#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral
#define RGB_MATRIX_DEFAULT_VAL 60
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_KEYPRESSES
#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
+21
View File
@@ -0,0 +1,21 @@
/* Copyright 2023 eerraa
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#define HAL_USE_PWM TRUE
#include_next <halconf.h>
+590
View File
@@ -0,0 +1,590 @@
{
"manufacturer": "SIRIND",
"keyboard_name": "Klein",
"maintainer": "eerraa",
"backlight": {
"levels": 5,
"pin": "GP15"
},
"bootloader": "rp2040",
"build": {
"debounce_type": "sym_defer_pk"
},
"diode_direction": "COL2ROW",
"features": {
"backlight": true,
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true,
"rgb_matrix": true
},
"indicators": {
"caps_lock": "GP16",
"on_state": 0,
"scroll_lock": "GP17"
},
"matrix_pins": {
"cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"],
"rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"]
},
"processor": "RP2040",
"rgb_matrix": {
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_rain": true,
"pixel_flow": true,
"pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
},
"driver": "ws2812",
"layout": [
{"matrix": [0, 7], "x": 4, "y": 0, "flags": 1},
{"matrix": [0, 6], "x": 20, "y": 2, "flags": 4},
{"matrix": [0, 5], "x": 32, "y": 2, "flags": 4},
{"matrix": [0, 4], "x": 45, "y": 1, "flags": 4},
{"matrix": [0, 3], "x": 58, "y": 3, "flags": 4},
{"matrix": [0, 2], "x": 71, "y": 5, "flags": 4},
{"matrix": [0, 1], "x": 83, "y": 8, "flags": 4},
{"matrix": [0, 0], "x": 96, "y": 10, "flags": 4},
{"matrix": [1, 0], "x": 129, "y": 9, "flags": 4},
{"matrix": [1, 1], "x": 141, "y": 7, "flags": 4},
{"matrix": [1, 2], "x": 154, "y": 4, "flags": 4},
{"matrix": [1, 3], "x": 166, "y": 2, "flags": 4},
{"matrix": [1, 4], "x": 179, "y": 1, "flags": 4},
{"matrix": [1, 5], "x": 192, "y": 2, "flags": 4},
{"matrix": [1, 6], "x": 211, "y": 2, "flags": 1},
{"matrix": [1, 7], "x": 1, "y": 13, "flags": 1},
{"matrix": [2, 6], "x": 21, "y": 15, "flags": 1},
{"matrix": [2, 5], "x": 36, "y": 15, "flags": 4},
{"matrix": [2, 4], "x": 50, "y": 15, "flags": 4},
{"matrix": [2, 3], "x": 62, "y": 17, "flags": 4},
{"matrix": [2, 2], "x": 75, "y": 20, "flags": 4},
{"matrix": [2, 1], "x": 87, "y": 22, "flags": 4},
{"matrix": [2, 0], "x": 100, "y": 24, "flags": 4},
{"matrix": [3, 1], "x": 125, "y": 23, "flags": 4},
{"matrix": [3, 2], "x": 137, "y": 21, "flags": 4},
{"matrix": [3, 3], "x": 150, "y": 18, "flags": 4},
{"matrix": [3, 4], "x": 162, "y": 16, "flags": 4},
{"matrix": [3, 5], "x": 175, "y": 15, "flags": 4},
{"matrix": [3, 6], "x": 188, "y": 15, "flags": 4},
{"matrix": [4, 6], "x": 201, "y": 15, "flags": 4},
{"matrix": [4, 5], "x": 217, "y": 15, "flags": 4},
{"matrix": [4, 3], "x": 0, "y": 27, "flags": 1},
{"matrix": [4, 1], "x": 18, "y": 29, "flags": 1},
{"matrix": [0, 8], "x": 38, "y": 29, "flags": 4},
{"matrix": [0, 9], "x": 51, "y": 29, "flags": 4},
{"matrix": [0, 10], "x": 64, "y": 31, "flags": 4},
{"matrix": [0, 11], "x": 76, "y": 33, "flags": 4},
{"matrix": [0, 12], "x": 89, "y": 36, "flags": 4},
{"matrix": [0, 13], "x": 129, "y": 36, "flags": 4},
{"matrix": [0, 15], "x": 142, "y": 33, "flags": 4},
{"matrix": [1, 15], "x": 154, "y": 31, "flags": 4},
{"matrix": [1, 14], "x": 167, "y": 29, "flags": 4},
{"matrix": [1, 13], "x": 180, "y": 29, "flags": 4},
{"matrix": [1, 12], "x": 193, "y": 29, "flags": 4},
{"matrix": [1, 11], "x": 213, "y": 29, "flags": 1},
{"matrix": [1, 10], "x": 21, "y": 42, "flags": 1},
{"matrix": [1, 9], "x": 42, "y": 42, "flags": 4},
{"matrix": [1, 8], "x": 60, "y": 57, "flags": 4},
{"matrix": [2, 8], "x": 67, "y": 45, "flags": 4},
{"matrix": [2, 9], "x": 80, "y": 47, "flags": 4},
{"matrix": [2, 10], "x": 92, "y": 50, "flags": 4},
{"matrix": [2, 11], "x": 126, "y": 50, "flags": 4},
{"matrix": [2, 12], "x": 138, "y": 48, "flags": 4},
{"matrix": [2, 13], "x": 151, "y": 45, "flags": 4},
{"matrix": [2, 15], "x": 163, "y": 43, "flags": 4},
{"matrix": [3, 14], "x": 177, "y": 42, "flags": 4},
{"matrix": [3, 13], "x": 189, "y": 42, "flags": 4},
{"matrix": [3, 12], "x": 213, "y": 42, "flags": 1},
{"matrix": [3, 11], "x": 16, "y": 55, "flags": 1},
{"matrix": [3, 10], "x": 55, "y": 43, "flags": 1},
{"matrix": [3, 9], "x": 76, "y": 60, "flags": 4},
{"matrix": [3, 8], "x": 96, "y": 64, "flags": 1},
{"matrix": [4, 9], "x": 139, "y": 61, "flags": 4},
{"matrix": [4, 11], "x": 166, "y": 57, "flags": 1},
{"matrix": [4, 13], "x": 189, "y": 55, "flags": 1},
{"matrix": [4, 14], "x": 202, "y": 55, "flags": 1},
{"matrix": [4, 15], "x": 221, "y": 55, "flags": 1}
],
"led_count": 67
},
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0003",
"vid": "0x4552"
},
"ws2812": {
"driver": "vendor",
"pin": "GP0"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0},
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.5, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [5, 0], "x": 10.75, "y": 0},
{"matrix": [5, 1], "x": 11.75, "y": 0},
{"matrix": [5, 2], "x": 12.75, "y": 0},
{"matrix": [5, 3], "x": 13.75, "y": 0},
{"matrix": [5, 4], "x": 14.75, "y": 0},
{"matrix": [5, 5], "x": 15.75, "y": 0},
{"matrix": [5, 6], "x": 16.75, "y": 0},
{"matrix": [5, 7], "x": 17.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 8, "y": 1},
{"matrix": [6, 0], "x": 10.25, "y": 1},
{"matrix": [6, 1], "x": 11.25, "y": 1},
{"matrix": [6, 2], "x": 12.25, "y": 1},
{"matrix": [6, 3], "x": 13.25, "y": 1},
{"matrix": [6, 4], "x": 14.25, "y": 1},
{"matrix": [6, 5], "x": 15.25, "y": 1},
{"matrix": [6, 6], "x": 16.25, "y": 1},
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [7, 0], "x": 10.5, "y": 2},
{"matrix": [7, 1], "x": 11.5, "y": 2},
{"matrix": [7, 2], "x": 12.5, "y": 2},
{"matrix": [7, 3], "x": 13.5, "y": 2},
{"matrix": [7, 4], "x": 14.5, "y": 2},
{"matrix": [7, 5], "x": 15.5, "y": 2},
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [8, 0], "x": 10, "y": 3},
{"matrix": [8, 1], "x": 11, "y": 3},
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 4], "x": 14, "y": 3},
{"matrix": [8, 5], "x": 15, "y": 3},
{"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
{"matrix": [8, 7], "x": 17.75, "y": 3},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 8.25, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
{"matrix": [9, 5], "x": 15, "y": 4},
{"matrix": [9, 6], "x": 16, "y": 4},
{"matrix": [9, 7], "x": 17, "y": 4}
]
},
"LAYOUT_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0},
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.5, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [5, 0], "x": 10.75, "y": 0},
{"matrix": [5, 1], "x": 11.75, "y": 0},
{"matrix": [5, 2], "x": 12.75, "y": 0},
{"matrix": [5, 3], "x": 13.75, "y": 0},
{"matrix": [5, 4], "x": 14.75, "y": 0},
{"matrix": [5, 5], "x": 15.75, "y": 0},
{"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 8, "y": 1},
{"matrix": [6, 0], "x": 10.25, "y": 1},
{"matrix": [6, 1], "x": 11.25, "y": 1},
{"matrix": [6, 2], "x": 12.25, "y": 1},
{"matrix": [6, 3], "x": 13.25, "y": 1},
{"matrix": [6, 4], "x": 14.25, "y": 1},
{"matrix": [6, 5], "x": 15.25, "y": 1},
{"matrix": [6, 6], "x": 16.25, "y": 1},
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [7, 0], "x": 10.5, "y": 2},
{"matrix": [7, 1], "x": 11.5, "y": 2},
{"matrix": [7, 2], "x": 12.5, "y": 2},
{"matrix": [7, 3], "x": 13.5, "y": 2},
{"matrix": [7, 4], "x": 14.5, "y": 2},
{"matrix": [7, 5], "x": 15.5, "y": 2},
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [8, 0], "x": 10, "y": 3},
{"matrix": [8, 1], "x": 11, "y": 3},
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 4], "x": 14, "y": 3},
{"matrix": [8, 5], "x": 15, "y": 3},
{"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 8.25, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
{"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
]
},
"LAYOUT_ansi_arrow": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0},
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.5, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [5, 0], "x": 10.75, "y": 0},
{"matrix": [5, 1], "x": 11.75, "y": 0},
{"matrix": [5, 2], "x": 12.75, "y": 0},
{"matrix": [5, 3], "x": 13.75, "y": 0},
{"matrix": [5, 4], "x": 14.75, "y": 0},
{"matrix": [5, 5], "x": 15.75, "y": 0},
{"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 8, "y": 1},
{"matrix": [6, 0], "x": 10.25, "y": 1},
{"matrix": [6, 1], "x": 11.25, "y": 1},
{"matrix": [6, 2], "x": 12.25, "y": 1},
{"matrix": [6, 3], "x": 13.25, "y": 1},
{"matrix": [6, 4], "x": 14.25, "y": 1},
{"matrix": [6, 5], "x": 15.25, "y": 1},
{"matrix": [6, 6], "x": 16.25, "y": 1},
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [7, 0], "x": 10.5, "y": 2},
{"matrix": [7, 1], "x": 11.5, "y": 2},
{"matrix": [7, 2], "x": 12.5, "y": 2},
{"matrix": [7, 3], "x": 13.5, "y": 2},
{"matrix": [7, 4], "x": 14.5, "y": 2},
{"matrix": [7, 5], "x": 15.5, "y": 2},
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [8, 0], "x": 10, "y": 3},
{"matrix": [8, 1], "x": 11, "y": 3},
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 4], "x": 14, "y": 3},
{"matrix": [8, 5], "x": 15, "y": 3},
{"matrix": [8, 6], "x": 16, "y": 3},
{"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 8.25, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
{"matrix": [9, 5], "x": 15, "y": 4},
{"matrix": [9, 6], "x": 16, "y": 4},
{"matrix": [9, 7], "x": 17, "y": 4}
]
},
"LAYOUT_ansi_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0},
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.5, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [5, 0], "x": 10.75, "y": 0},
{"matrix": [5, 1], "x": 11.75, "y": 0},
{"matrix": [5, 2], "x": 12.75, "y": 0},
{"matrix": [5, 3], "x": 13.75, "y": 0},
{"matrix": [5, 4], "x": 14.75, "y": 0},
{"matrix": [5, 5], "x": 15.75, "y": 0},
{"matrix": [5, 6], "x": 16.75, "y": 0},
{"matrix": [5, 7], "x": 17.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 8, "y": 1},
{"matrix": [6, 0], "x": 10.25, "y": 1},
{"matrix": [6, 1], "x": 11.25, "y": 1},
{"matrix": [6, 2], "x": 12.25, "y": 1},
{"matrix": [6, 3], "x": 13.25, "y": 1},
{"matrix": [6, 4], "x": 14.25, "y": 1},
{"matrix": [6, 5], "x": 15.25, "y": 1},
{"matrix": [6, 6], "x": 16.25, "y": 1},
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [7, 0], "x": 10.5, "y": 2},
{"matrix": [7, 1], "x": 11.5, "y": 2},
{"matrix": [7, 2], "x": 12.5, "y": 2},
{"matrix": [7, 3], "x": 13.5, "y": 2},
{"matrix": [7, 4], "x": 14.5, "y": 2},
{"matrix": [7, 5], "x": 15.5, "y": 2},
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [8, 0], "x": 10, "y": 3},
{"matrix": [8, 1], "x": 11, "y": 3},
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 4], "x": 14, "y": 3},
{"matrix": [8, 5], "x": 15, "y": 3},
{"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 8.25, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
{"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
]
},
"LAYOUT_ansi_split_bs_rsft": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0},
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.5, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [5, 0], "x": 10.75, "y": 0},
{"matrix": [5, 1], "x": 11.75, "y": 0},
{"matrix": [5, 2], "x": 12.75, "y": 0},
{"matrix": [5, 3], "x": 13.75, "y": 0},
{"matrix": [5, 4], "x": 14.75, "y": 0},
{"matrix": [5, 5], "x": 15.75, "y": 0},
{"matrix": [5, 6], "x": 16.75, "y": 0},
{"matrix": [5, 7], "x": 17.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 8, "y": 1},
{"matrix": [6, 0], "x": 10.25, "y": 1},
{"matrix": [6, 1], "x": 11.25, "y": 1},
{"matrix": [6, 2], "x": 12.25, "y": 1},
{"matrix": [6, 3], "x": 13.25, "y": 1},
{"matrix": [6, 4], "x": 14.25, "y": 1},
{"matrix": [6, 5], "x": 15.25, "y": 1},
{"matrix": [6, 6], "x": 16.25, "y": 1},
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [7, 0], "x": 10.5, "y": 2},
{"matrix": [7, 1], "x": 11.5, "y": 2},
{"matrix": [7, 2], "x": 12.5, "y": 2},
{"matrix": [7, 3], "x": 13.5, "y": 2},
{"matrix": [7, 4], "x": 14.5, "y": 2},
{"matrix": [7, 5], "x": 15.5, "y": 2},
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [8, 0], "x": 10, "y": 3},
{"matrix": [8, 1], "x": 11, "y": 3},
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 4], "x": 14, "y": 3},
{"matrix": [8, 5], "x": 15, "y": 3},
{"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
{"matrix": [8, 7], "x": 17.75, "y": 3},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 8.25, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
{"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
]
},
"LAYOUT_arrow_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.5, "y": 0},
{"matrix": [0, 2], "x": 2.5, "y": 0},
{"matrix": [0, 3], "x": 3.5, "y": 0},
{"matrix": [0, 4], "x": 4.5, "y": 0},
{"matrix": [0, 5], "x": 5.5, "y": 0},
{"matrix": [0, 6], "x": 6.5, "y": 0},
{"matrix": [0, 7], "x": 7.5, "y": 0},
{"matrix": [5, 0], "x": 10.75, "y": 0},
{"matrix": [5, 1], "x": 11.75, "y": 0},
{"matrix": [5, 2], "x": 12.75, "y": 0},
{"matrix": [5, 3], "x": 13.75, "y": 0},
{"matrix": [5, 4], "x": 14.75, "y": 0},
{"matrix": [5, 5], "x": 15.75, "y": 0},
{"matrix": [5, 6], "x": 16.75, "y": 0},
{"matrix": [5, 7], "x": 17.75, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 3, "y": 1},
{"matrix": [1, 3], "x": 4, "y": 1},
{"matrix": [1, 4], "x": 5, "y": 1},
{"matrix": [1, 5], "x": 6, "y": 1},
{"matrix": [1, 6], "x": 7, "y": 1},
{"matrix": [1, 7], "x": 8, "y": 1},
{"matrix": [6, 0], "x": 10.25, "y": 1},
{"matrix": [6, 1], "x": 11.25, "y": 1},
{"matrix": [6, 2], "x": 12.25, "y": 1},
{"matrix": [6, 3], "x": 13.25, "y": 1},
{"matrix": [6, 4], "x": 14.25, "y": 1},
{"matrix": [6, 5], "x": 15.25, "y": 1},
{"matrix": [6, 6], "x": 16.25, "y": 1},
{"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3.25, "y": 2},
{"matrix": [2, 3], "x": 4.25, "y": 2},
{"matrix": [2, 4], "x": 5.25, "y": 2},
{"matrix": [2, 5], "x": 6.25, "y": 2},
{"matrix": [2, 6], "x": 7.25, "y": 2},
{"matrix": [7, 0], "x": 10.5, "y": 2},
{"matrix": [7, 1], "x": 11.5, "y": 2},
{"matrix": [7, 2], "x": 12.5, "y": 2},
{"matrix": [7, 3], "x": 13.5, "y": 2},
{"matrix": [7, 4], "x": 14.5, "y": 2},
{"matrix": [7, 5], "x": 15.5, "y": 2},
{"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
{"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 3.75, "y": 3},
{"matrix": [3, 3], "x": 4.75, "y": 3},
{"matrix": [3, 4], "x": 5.75, "y": 3},
{"matrix": [3, 5], "x": 6.75, "y": 3},
{"matrix": [3, 6], "x": 7.75, "y": 3},
{"matrix": [8, 0], "x": 10, "y": 3},
{"matrix": [8, 1], "x": 11, "y": 3},
{"matrix": [8, 2], "x": 12, "y": 3},
{"matrix": [8, 3], "x": 13, "y": 3},
{"matrix": [8, 4], "x": 14, "y": 3},
{"matrix": [8, 5], "x": 15, "y": 3},
{"matrix": [8, 6], "x": 16, "y": 3},
{"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
{"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
{"matrix": [4, 5], "x": 8.25, "y": 4},
{"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
{"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
{"matrix": [9, 5], "x": 15, "y": 4},
{"matrix": [9, 6], "x": 16, "y": 4},
{"matrix": [9, 7], "x": 17, "y": 4}
]
}
}
}
@@ -0,0 +1,23 @@
// Copyright 2018-2022 QMK (@qmk)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
),
[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+23
View File
@@ -0,0 +1,23 @@
// Copyright 2018-2022 QMK (@qmk)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
),
[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+1
View File
@@ -0,0 +1 @@
VIA_ENABLE = yes
+22
View File
@@ -0,0 +1,22 @@
/* Copyright 2023 eerraa
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include_next <mcuconf.h>
#undef RP_PWM_USE_PWM7
#define RP_PWM_USE_PWM7 TRUE
+23
View File
@@ -0,0 +1,23 @@
# MontK Cervin Klein
* Keyboard Maintainer: [ERA](https://github.com/eerraa)
* Hardware supported: SIRIND Klein
* Hardware availability: [Syryan](https://srind.mysoho.com/)
Make example for this keyboard (after setting up your build environment):
make era/klein:default
Flashing example for this keyboard:
make era/klein:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
View File
@@ -4,7 +4,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
switch (layer) {
case DVORAK:
rgblight_sethsv_noeeprom(GREEN);
rgblight_sethsv_noeeprom(HSV_GREEN);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
if (PLOVER_MODE) {
+166
View File
@@ -15,6 +15,7 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["68_ansi", "68_iso"],
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -261,6 +262,88 @@
{"matrix": [4, 15], "x": 16.25, "y": 4}
]
},
"LAYOUT_68_ansi_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [2, 14], "x": 13, "y": 0},
{"matrix": [0, 13], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15.25, "y": 0},
{"matrix": [0, 15], "x": 16.25, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 14], "x": 15.25, "y": 1},
{"matrix": [1, 15], "x": 16.25, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 14], "x": 15.25, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 14.25, "y": 4},
{"matrix": [4, 14], "x": 15.25, "y": 4},
{"matrix": [4, 15], "x": 16.25, "y": 4}
]
},
"LAYOUT_68_ansi_split_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -342,6 +425,89 @@
{"matrix": [4, 15], "x": 16.25, "y": 4}
]
},
"LAYOUT_68_iso_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [2, 14], "x": 13, "y": 0},
{"matrix": [0, 13], "x": 14, "y": 0},
{"matrix": [0, 14], "x": 15.25, "y": 0},
{"matrix": [0, 15], "x": 16.25, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 1], "x": 1.5, "y": 1},
{"matrix": [1, 2], "x": 2.5, "y": 1},
{"matrix": [1, 3], "x": 3.5, "y": 1},
{"matrix": [1, 4], "x": 4.5, "y": 1},
{"matrix": [1, 5], "x": 5.5, "y": 1},
{"matrix": [1, 6], "x": 6.5, "y": 1},
{"matrix": [1, 7], "x": 7.5, "y": 1},
{"matrix": [1, 8], "x": 8.5, "y": 1},
{"matrix": [1, 9], "x": 9.5, "y": 1},
{"matrix": [1, 10], "x": 10.5, "y": 1},
{"matrix": [1, 11], "x": 11.5, "y": 1},
{"matrix": [1, 12], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 15.25, "y": 1},
{"matrix": [1, 15], "x": 16.25, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
{"matrix": [2, 3], "x": 3.75, "y": 2},
{"matrix": [2, 4], "x": 4.75, "y": 2},
{"matrix": [2, 5], "x": 5.75, "y": 2},
{"matrix": [2, 6], "x": 6.75, "y": 2},
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2},
{"matrix": [2, 10], "x": 10.75, "y": 2},
{"matrix": [2, 11], "x": 11.75, "y": 2},
{"matrix": [2, 12], "x": 12.75, "y": 2},
{"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 13], "x": 14, "y": 3},
{"matrix": [3, 14], "x": 15.25, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 14.25, "y": 4},
{"matrix": [4, 14], "x": 15.25, "y": 4},
{"matrix": [4, 15], "x": 16.25, "y": 4}
]
},
"LAYOUT_68_iso_split_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
@@ -0,0 +1,18 @@
# Matrix diagram for Evyd13 solheim68
```
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┐ ┌───────┐
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │2E │0D ││0E │0F │ │0D │ 2u Backspace
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┤ └─┬─────┤
│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┘ ┌──┴┐2D │ ISO Enter
│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤┌───┐ └───┴────┘
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D ││3E │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴┬──┴┼───┼───┐
│40 │41 │42 │46 │4A │4B │4C │ │4D │4E │4F │
└────┴────┴────┴────────────────────────┴────┴────┴────┘ └───┴───┴───┘
┌────────┐ ┌──────────┐
│30 │ 2.25u LShift 2.75u RShift │3C │
└────────┘ └──────────┘
```
@@ -19,3 +19,6 @@
IO expander setup would allow up to 1x16 + 1 from the MCU */
#define MATRIX_ROWS 1
#define MATRIX_COLS 17
/* Fix for Apple Silicon Macs struggling to detect board after suspend/sleep */
#define USB_SUSPEND_WAKEUP_DELAY 200
+1 -1
View File
@@ -15,7 +15,7 @@
"command": false,
"console": false,
"extrakey": true,
"mousekey": false,
"mousekey": true,
"nkro": false,
"encoder": true
},
+86 -86
View File
@@ -43,104 +43,104 @@
{"matrix": [13, 0], "x": 14, "y": 0},
{"matrix": [0, 6], "x": 15.5, "y": 0},
{"matrix": [1, 6], "x": 16.5, "y": 0},
{"matrix": [2, 6], "x": 17.5, "y": 0},
{"matrix": [3, 6], "x": 18.5, "y": 0},
{"matrix": [0, 6], "x": 15.25, "y": 0},
{"matrix": [1, 6], "x": 16.25, "y": 0},
{"matrix": [2, 6], "x": 17.25, "y": 0},
{"matrix": [3, 6], "x": 18.25, "y": 0},
{"matrix": [0, 1], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [2, 1], "x": 2, "y": 1},
{"matrix": [3, 1], "x": 3, "y": 1},
{"matrix": [4, 1], "x": 4, "y": 1},
{"matrix": [5, 1], "x": 5, "y": 1},
{"matrix": [6, 1], "x": 6, "y": 1},
{"matrix": [7, 1], "x": 7, "y": 1},
{"matrix": [8, 1], "x": 8, "y": 1},
{"matrix": [9, 1], "x": 9, "y": 1},
{"matrix": [10, 1], "x": 10, "y": 1},
{"matrix": [11, 1], "x": 11, "y": 1},
{"matrix": [12, 1], "x": 12, "y": 1},
{"matrix": [13, 1], "x": 13, "y": 1, "w": 2},
{"matrix": [0, 1], "x": 0, "y": 1.125},
{"matrix": [1, 1], "x": 1, "y": 1.125},
{"matrix": [2, 1], "x": 2, "y": 1.125},
{"matrix": [3, 1], "x": 3, "y": 1.125},
{"matrix": [4, 1], "x": 4, "y": 1.125},
{"matrix": [5, 1], "x": 5, "y": 1.125},
{"matrix": [6, 1], "x": 6, "y": 1.125},
{"matrix": [7, 1], "x": 7, "y": 1.125},
{"matrix": [8, 1], "x": 8, "y": 1.125},
{"matrix": [9, 1], "x": 9, "y": 1.125},
{"matrix": [10, 1], "x": 10, "y": 1.125},
{"matrix": [11, 1], "x": 11, "y": 1.125},
{"matrix": [12, 1], "x": 12, "y": 1.125},
{"matrix": [13, 1], "x": 13, "y": 1.125, "w": 2},
{"matrix": [4, 6], "x": 15.5, "y": 1},
{"matrix": [5, 6], "x": 16.5, "y": 1},
{"matrix": [6, 6], "x": 17.5, "y": 1},
{"matrix": [7, 6], "x": 18.5, "y": 1},
{"matrix": [4, 6], "x": 15.25, "y": 1.125},
{"matrix": [5, 6], "x": 16.25, "y": 1.125},
{"matrix": [6, 6], "x": 17.25, "y": 1.125},
{"matrix": [7, 6], "x": 18.25, "y": 1.125},
{"matrix": [0, 2], "x": 0, "y": 2, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 2},
{"matrix": [2, 2], "x": 2.5, "y": 2},
{"matrix": [3, 2], "x": 3.5, "y": 2},
{"matrix": [4, 2], "x": 4.5, "y": 2},
{"matrix": [5, 2], "x": 5.5, "y": 2},
{"matrix": [6, 2], "x": 6.5, "y": 2},
{"matrix": [7, 2], "x": 7.5, "y": 2},
{"matrix": [8, 2], "x": 8.5, "y": 2},
{"matrix": [9, 2], "x": 9.5, "y": 2},
{"matrix": [10, 2], "x": 10.5, "y": 2},
{"matrix": [11, 2], "x": 11.5, "y": 2},
{"matrix": [12, 2], "x": 12.5, "y": 2},
{"matrix": [13, 3], "x": 13.5, "y": 2, "w": 1.25, "h": 2},
{"matrix": [0, 2], "x": 0, "y": 2.125, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 2.125},
{"matrix": [2, 2], "x": 2.5, "y": 2.125},
{"matrix": [3, 2], "x": 3.5, "y": 2.125},
{"matrix": [4, 2], "x": 4.5, "y": 2.125},
{"matrix": [5, 2], "x": 5.5, "y": 2.125},
{"matrix": [6, 2], "x": 6.5, "y": 2.125},
{"matrix": [7, 2], "x": 7.5, "y": 2.125},
{"matrix": [8, 2], "x": 8.5, "y": 2.125},
{"matrix": [9, 2], "x": 9.5, "y": 2.125},
{"matrix": [10, 2], "x": 10.5, "y": 2.125},
{"matrix": [11, 2], "x": 11.5, "y": 2.125},
{"matrix": [12, 2], "x": 12.5, "y": 2.125},
{"matrix": [13, 3], "x": 13.75, "y": 2.125, "w": 1.25, "h": 2},
{"matrix": [8, 6], "x": 15.5, "y": 2},
{"matrix": [9, 6], "x": 16.5, "y": 2},
{"matrix": [10, 6], "x": 17.5, "y": 2, "w": 1.5},
{"matrix": [11, 6], "x": 18.5, "y": 2, "h": 2},
{"matrix": [8, 6], "x": 15.25, "y": 2.125},
{"matrix": [9, 6], "x": 16.25, "y": 2.125},
{"matrix": [10, 6], "x": 17.25, "y": 2.125},
{"matrix": [11, 6], "x": 18.25, "y": 2.125, "h": 2},
{"matrix": [0, 3], "x": 0, "y": 3, "w": 1.75},
{"matrix": [1, 3], "x": 1.75, "y": 3},
{"matrix": [2, 3], "x": 2.75, "y": 3},
{"matrix": [3, 3], "x": 3.75, "y": 3},
{"matrix": [4, 3], "x": 4.75, "y": 3},
{"matrix": [5, 3], "x": 5.75, "y": 3},
{"matrix": [6, 3], "x": 6.75, "y": 3},
{"matrix": [7, 3], "x": 7.75, "y": 3},
{"matrix": [8, 3], "x": 8.75, "y": 3},
{"matrix": [9, 3], "x": 9.75, "y": 3},
{"matrix": [10, 3], "x": 10.75, "y": 3},
{"matrix": [11, 3], "x": 11.75, "y": 3},
{"matrix": [12, 3], "x": 12.75, "y": 3},
{"matrix": [0, 3], "x": 0, "y": 3.125, "w": 1.75},
{"matrix": [1, 3], "x": 1.75, "y": 3.125},
{"matrix": [2, 3], "x": 2.75, "y": 3.125},
{"matrix": [3, 3], "x": 3.75, "y": 3.125},
{"matrix": [4, 3], "x": 4.75, "y": 3.125},
{"matrix": [5, 3], "x": 5.75, "y": 3.125},
{"matrix": [6, 3], "x": 6.75, "y": 3.125},
{"matrix": [7, 3], "x": 7.75, "y": 3.125},
{"matrix": [8, 3], "x": 8.75, "y": 3.125},
{"matrix": [9, 3], "x": 9.75, "y": 3.125},
{"matrix": [10, 3], "x": 10.75, "y": 3.125},
{"matrix": [11, 3], "x": 11.75, "y": 3.125},
{"matrix": [12, 3], "x": 12.75, "y": 3.125},
{"matrix": [10, 7], "x": 15.5, "y": 3},
{"matrix": [11, 7], "x": 16.5, "y": 3},
{"matrix": [12, 7], "x": 17.5, "y": 3},
{"matrix": [10, 7], "x": 15.25, "y": 3.125},
{"matrix": [11, 7], "x": 16.25, "y": 3.125},
{"matrix": [12, 7], "x": 17.25, "y": 3.125},
{"matrix": [0, 4], "x": 0, "y": 4, "w": 1.25},
{"matrix": [1, 4], "x": 1.25, "y": 4},
{"matrix": [2, 4], "x": 2.25, "y": 4},
{"matrix": [3, 4], "x": 3.25, "y": 4},
{"matrix": [4, 4], "x": 4.25, "y": 4},
{"matrix": [5, 4], "x": 5.25, "y": 4},
{"matrix": [6, 4], "x": 6.25, "y": 4},
{"matrix": [7, 4], "x": 7.25, "y": 4},
{"matrix": [8, 4], "x": 8.25, "y": 4},
{"matrix": [9, 4], "x": 9.25, "y": 4},
{"matrix": [10, 4], "x": 10.25, "y": 4},
{"matrix": [11, 4], "x": 11.25, "y": 4},
{"matrix": [13, 4], "x": 12.25, "y": 4, "w": 1.75},
{"matrix": [0, 4], "x": 0, "y": 4.125, "w": 1.25},
{"matrix": [1, 4], "x": 1.25, "y": 4.125},
{"matrix": [2, 4], "x": 2.25, "y": 4.125},
{"matrix": [3, 4], "x": 3.25, "y": 4.125},
{"matrix": [4, 4], "x": 4.25, "y": 4.125},
{"matrix": [5, 4], "x": 5.25, "y": 4.125},
{"matrix": [6, 4], "x": 6.25, "y": 4.125},
{"matrix": [7, 4], "x": 7.25, "y": 4.125},
{"matrix": [8, 4], "x": 8.25, "y": 4.125},
{"matrix": [9, 4], "x": 9.25, "y": 4.125},
{"matrix": [10, 4], "x": 10.25, "y": 4.125},
{"matrix": [11, 4], "x": 11.25, "y": 4.125},
{"matrix": [13, 4], "x": 12.25, "y": 4.125, "w": 1.75},
{"matrix": [1, 7], "x": 14.25, "y": 4},
{"matrix": [1, 7], "x": 14.125, "y": 4.25},
{"matrix": [6, 7], "x": 15.5, "y": 4},
{"matrix": [7, 7], "x": 16.5, "y": 4},
{"matrix": [8, 7], "x": 17.5, "y": 4},
{"matrix": [9, 7], "x": 18.5, "y": 4, "h": 2},
{"matrix": [6, 7], "x": 15.25, "y": 4.125},
{"matrix": [7, 7], "x": 16.25, "y": 4.125},
{"matrix": [8, 7], "x": 17.25, "y": 4.125},
{"matrix": [9, 7], "x": 18.25, "y": 4.125, "h": 2},
{"matrix": [0, 5], "x": 0, "y": 5, "w": 1.25},
{"matrix": [1, 5], "x": 1.25, "y": 5, "w": 1.25},
{"matrix": [2, 5], "x": 2.5, "y": 5, "w": 1.25},
{"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25},
{"matrix": [9, 5], "x": 10, "y": 5},
{"matrix": [10, 5], "x": 11, "y": 5},
{"matrix": [12, 5], "x": 12, "y": 5},
{"matrix": [0, 5], "x": 0, "y": 5.125, "w": 1.25},
{"matrix": [1, 5], "x": 1.25, "y": 5.125, "w": 1.25},
{"matrix": [2, 5], "x": 2.5, "y": 5.125, "w": 1.25},
{"matrix": [6, 5], "x": 3.75, "y": 5.125, "w": 6.25},
{"matrix": [9, 5], "x": 10, "y": 5.125},
{"matrix": [10, 5], "x": 11, "y": 5.125},
{"matrix": [12, 5], "x": 12, "y": 5.125},
{"matrix": [0, 7], "x": 13.25, "y": 5},
{"matrix": [2, 7], "x": 14.25, "y": 5},
{"matrix": [3, 7], "x": 15.25, "y": 5},
{"matrix": [0, 7], "x": 13.125, "y": 5.25},
{"matrix": [2, 7], "x": 14.125, "y": 5.25},
{"matrix": [3, 7], "x": 15.125, "y": 5.25},
{"matrix": [4, 7], "x": 16.5, "y": 5},
{"matrix": [5, 7], "x": 17.5, "y": 5}
{"matrix": [4, 7], "x": 16.25, "y": 5.125},
{"matrix": [5, 7], "x": 17.25, "y": 5.125}
]
}
}
+735 -214
View File
@@ -2,13 +2,13 @@
"keyboard_name": "think65v3",
"url": "https://graystudio.club/products/testthink6-5-v3",
"maintainer": "edwardslau",
"manufacturer":"GrayStudio",
"manufacturer": "GrayStudio",
"processor": "STM32F072",
"diode_direction": "COL2ROW",
"bootloader": "stm32-dfu",
"usb": {
"vid":"0x4753",
"pid":"0x4003",
"usb": {
"vid": "0x4753",
"pid": "0x4003",
"device_version": "0.0.3"
},
"features": {
@@ -22,19 +22,19 @@
},
"ws2812": {
"pin": "B10"
}
},
"matrix_pins": {
"cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"],
"rows": ["A6", "B12", "A2", "A0", "A1"]
},
"rgblight": {
"led_count": 6,
"sleep": true,
"max_brightness": 150,
"layers": {
"enabled": true
"override_rgb": true
},
"rgblight": {
"led_count": 6,
"sleep": true,
"max_brightness": 150,
"layers": {
"enabled": true,
"override_rgb": true
},
"animations": {
"alternating": true,
"breathing": true,
@@ -47,228 +47,749 @@
"static_gradient": true,
"twinkle": true
}
},
},
"layout_aliases": {
"LAYOUT_65_blocker": "LAYOUT_ansi_blocker",
"LAYOUT_65_iso_blocker": "LAYOUT_iso_blocker"
},
"layouts": {
"LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2},
{"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT": {
"layout": [
{"matrix": [0,0], "x": 0, "y": 0},
{"matrix": [0,1], "x": 1, "y": 0},
{"matrix": [0,2], "x": 2, "y": 0},
{"matrix": [0,3], "x": 3, "y": 0},
{"matrix": [0,4], "x": 4, "y": 0},
{"matrix": [0,5], "x": 5, "y": 0},
{"matrix": [0,6], "x": 6, "y": 0},
{"matrix": [0,7], "x": 7, "y": 0},
{"matrix": [0,8], "x": 8, "y": 0},
{"matrix": [0,9], "x": 9, "y": 0},
{"matrix": [0,10],"x": 10, "y": 0},
{"matrix": [0,11],"x": 11, "y": 0},
{"matrix": [0,12],"x": 12, "y": 0},
{"matrix": [0,13],"x": 13, "y": 0},
{"matrix": [0,14],"x": 14, "y": 0},
{"matrix": [0,15],"x": 15, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1,0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1,2], "x": 1.5, "y": 1},
{"matrix": [1,3], "x": 2.5, "y": 1},
{"matrix": [1,4], "x": 3.5, "y": 1},
{"matrix": [1,5], "x": 4.5, "y": 1},
{"matrix": [1,6], "x": 5.5, "y": 1},
{"matrix": [1,7], "x": 6.5, "y": 1},
{"matrix": [1,8], "x": 7.5, "y": 1},
{"matrix": [1,9], "x": 8.5, "y": 1},
{"matrix": [1,10],"x": 9.5, "y": 1},
{"matrix": [1,11],"x": 10.5, "y": 1},
{"matrix": [1,12],"x": 11.5, "y": 1},
{"matrix": [1,13],"x": 12.5, "y": 1},
{"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1,15],"x": 15, "y": 1},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2,0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2,2], "x": 1.75, "y": 2},
{"matrix": [2,3], "x": 2.75, "y": 2},
{"matrix": [2,4], "x": 3.75, "y": 2},
{"matrix": [2,5], "x": 4.75, "y": 2},
{"matrix": [2,6], "x": 5.75, "y": 2},
{"matrix": [2,7], "x": 6.75, "y": 2},
{"matrix": [2,8], "x": 7.75, "y": 2},
{"matrix": [2,9], "x": 8.75, "y": 2},
{"matrix": [2,10],"x": 9.75, "y": 2},
{"matrix": [2,11],"x": 10.75, "y": 2},
{"matrix": [2,12],"x": 11.75, "y": 2},
{"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3,0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3,1], "x": 1.25, "y": 3},
{"matrix": [3,2], "x": 2.25, "y": 3},
{"matrix": [3,3], "x": 3.25, "y": 3},
{"matrix": [3,4], "x": 4.25, "y": 3},
{"matrix": [3,5], "x": 5.25, "y": 3},
{"matrix": [3,6], "x": 6.25, "y": 3},
{"matrix": [3,7], "x": 7.25, "y": 3},
{"matrix": [3,8], "x": 8.25, "y": 3},
{"matrix": [3,9],"x": 9.25, "y": 3},
{"matrix": [3,10],"x": 10.25, "y": 3},
{"matrix": [3,11],"x": 11.25, "y": 3},
{"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3,14],"x": 14, "y": 3},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4,0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4,10],"x": 10, "y": 4, "w": 1.25},
{"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4,13],"x": 13, "y": 4},
{"matrix": [4,14],"x": 14, "y": 4},
{"matrix": [4,15],"x": 15, "y": 4}
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_65_blocker": {
"LAYOUT_ansi_blocker": {
"layout": [
{"matrix": [0,0], "x": 0, "y": 0},
{"matrix": [0,1], "x": 1, "y": 0},
{"matrix": [0,2], "x": 2, "y": 0},
{"matrix": [0,3], "x": 3, "y": 0},
{"matrix": [0,4], "x": 4, "y": 0},
{"matrix": [0,5], "x": 5, "y": 0},
{"matrix": [0,6], "x": 6, "y": 0},
{"matrix": [0,7], "x": 7, "y": 0},
{"matrix": [0,8], "x": 8, "y": 0},
{"matrix": [0,9], "x": 9, "y": 0},
{"matrix": [0,10],"x": 10, "y": 0},
{"matrix": [0,11],"x": 11, "y": 0},
{"matrix": [0,12],"x": 12, "y": 0},
{"matrix": [0,13],"x": 13, "y": 0, "w": 2},
{"matrix": [0,15],"x": 15, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1,0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1,2], "x": 1.5, "y": 1},
{"matrix": [1,3], "x": 2.5, "y": 1},
{"matrix": [1,4], "x": 3.5, "y": 1},
{"matrix": [1,5], "x": 4.5, "y": 1},
{"matrix": [1,6], "x": 5.5, "y": 1},
{"matrix": [1,7], "x": 6.5, "y": 1},
{"matrix": [1,8], "x": 7.5, "y": 1},
{"matrix": [1,9], "x": 8.5, "y": 1},
{"matrix": [1,10],"x": 9.5, "y": 1},
{"matrix": [1,11],"x": 10.5, "y": 1},
{"matrix": [1,12],"x": 11.5, "y": 1},
{"matrix": [1,13],"x": 12.5, "y": 1},
{"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1,15],"x": 15, "y": 1},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2,0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2,2], "x": 1.75, "y": 2},
{"matrix": [2,3], "x": 2.75, "y": 2},
{"matrix": [2,4], "x": 3.75, "y": 2},
{"matrix": [2,5], "x": 4.75, "y": 2},
{"matrix": [2,6], "x": 5.75, "y": 2},
{"matrix": [2,7], "x": 6.75, "y": 2},
{"matrix": [2,8], "x": 7.75, "y": 2},
{"matrix": [2,9], "x": 8.75, "y": 2},
{"matrix": [2,10],"x": 9.75, "y": 2},
{"matrix": [2,11],"x": 10.75, "y": 2},
{"matrix": [2,12],"x": 11.75, "y": 2},
{"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3,0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3,2], "x": 2.25, "y": 3},
{"matrix": [3,3], "x": 3.25, "y": 3},
{"matrix": [3,4], "x": 4.25, "y": 3},
{"matrix": [3,5], "x": 5.25, "y": 3},
{"matrix": [3,6], "x": 6.25, "y": 3},
{"matrix": [3,7], "x": 7.25, "y": 3},
{"matrix": [3,8], "x": 8.25, "y": 3},
{"matrix": [3,9], "x": 9.25, "y": 3},
{"matrix": [3,10],"x": 10.25, "y": 3},
{"matrix": [3,11],"x": 11.25, "y": 3},
{"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3,14],"x": 14, "y": 3},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4,0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4,10],"x": 10, "y": 4, "w": 1.25},
{"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4,13],"x": 13, "y": 4},
{"matrix": [4,14],"x": 14, "y": 4},
{"matrix": [4,15],"x": 15, "y": 4}
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_65_iso_blocker": {
"LAYOUT_ansi_blocker_split_bs": {
"layout": [
{"matrix": [0,0], "x": 0, "y": 0},
{"matrix": [0,1], "x": 1, "y": 0},
{"matrix": [0,2], "x": 2, "y": 0},
{"matrix": [0,3], "x": 3, "y": 0},
{"matrix": [0,4], "x": 4, "y": 0},
{"matrix": [0,5], "x": 5, "y": 0},
{"matrix": [0,6], "x": 6, "y": 0},
{"matrix": [0,7], "x": 7, "y": 0},
{"matrix": [0,8], "x": 8, "y": 0},
{"matrix": [0,9], "x": 9, "y": 0},
{"matrix": [0,10],"x": 10, "y": 0},
{"matrix": [0,11],"x": 11, "y": 0},
{"matrix": [0,12],"x": 12, "y": 0},
{"matrix": [0,13],"x": 13, "y": 0, "w": 2},
{"matrix": [0,15],"x": 15, "y": 0},
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1,0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1,2], "x": 1.5, "y": 1},
{"matrix": [1,3], "x": 2.5, "y": 1},
{"matrix": [1,4], "x": 3.5, "y": 1},
{"matrix": [1,5], "x": 4.5, "y": 1},
{"matrix": [1,6], "x": 5.5, "y": 1},
{"matrix": [1,7], "x": 6.5, "y": 1},
{"matrix": [1,8], "x": 7.5, "y": 1},
{"matrix": [1,9], "x": 8.5, "y": 1},
{"matrix": [1,10],"x": 9.5, "y": 1},
{"matrix": [1,11],"x": 10.5, "y": 1},
{"matrix": [1,12],"x": 11.5, "y": 1},
{"matrix": [1,13],"x": 12.5, "y": 1},
{"matrix": [1,15],"x": 15, "y": 1},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2,0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2,2], "x": 1.75, "y": 2},
{"matrix": [2,3], "x": 2.75, "y": 2},
{"matrix": [2,4], "x": 3.75, "y": 2},
{"matrix": [2,5], "x": 4.75, "y": 2},
{"matrix": [2,6], "x": 5.75, "y": 2},
{"matrix": [2,7], "x": 6.75, "y": 2},
{"matrix": [2,8], "x": 7.75, "y": 2},
{"matrix": [2,9], "x": 8.75, "y": 2},
{"matrix": [2,10],"x": 9.75, "y": 2},
{"matrix": [2,11],"x": 10.75, "y": 2},
{"matrix": [1,14],"x": 11.75, "y": 2},
{"matrix": [2,13],"x": 12.75, "y": 2},
{"matrix": [2,14],"x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3,0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3,1],"x": 1.25, "y": 3},
{"matrix": [3,2], "x": 2.25, "y": 3},
{"matrix": [3,3], "x": 3.25, "y": 3},
{"matrix": [3,4], "x": 4.25, "y": 3},
{"matrix": [3,5], "x": 5.25, "y": 3},
{"matrix": [3,6], "x": 6.25, "y": 3},
{"matrix": [3,7], "x": 7.25, "y": 3},
{"matrix": [3,8], "x": 8.25, "y": 3},
{"matrix": [3,9], "x": 9.25, "y": 3},
{"matrix": [3,10],"x": 10.25, "y": 3},
{"matrix": [3,11],"x": 11.25, "y": 3},
{"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3,14],"x": 14, "y": 3},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4,0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4,10],"x": 10, "y": 4, "w": 1.25},
{"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4,13],"x": 13, "y": 4},
{"matrix": [4,14],"x": 14, "y": 4},
{"matrix": [4,15],"x": 15, "y": 4}
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_ansi_blocker_tsangan": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_ansi_blocker_tsangan_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_iso_blocker": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2},
{"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_iso_blocker_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2},
{"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25},
{"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_iso_blocker_tsangan": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2},
{"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
},
"LAYOUT_iso_blocker_tsangan_split_bs": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [0, 6], "x": 6, "y": 0},
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
{"matrix": [0, 10], "x": 10, "y": 0},
{"matrix": [0, 11], "x": 11, "y": 0},
{"matrix": [0, 12], "x": 12, "y": 0},
{"matrix": [0, 13], "x": 13, "y": 0},
{"matrix": [0, 14], "x": 14, "y": 0},
{"matrix": [0, 15], "x": 15, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 1.5, "y": 1},
{"matrix": [1, 3], "x": 2.5, "y": 1},
{"matrix": [1, 4], "x": 3.5, "y": 1},
{"matrix": [1, 5], "x": 4.5, "y": 1},
{"matrix": [1, 6], "x": 5.5, "y": 1},
{"matrix": [1, 7], "x": 6.5, "y": 1},
{"matrix": [1, 8], "x": 7.5, "y": 1},
{"matrix": [1, 9], "x": 8.5, "y": 1},
{"matrix": [1, 10], "x": 9.5, "y": 1},
{"matrix": [1, 11], "x": 10.5, "y": 1},
{"matrix": [1, 12], "x": 11.5, "y": 1},
{"matrix": [1, 13], "x": 12.5, "y": 1},
{"matrix": [1, 15], "x": 15, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 1.75, "y": 2},
{"matrix": [2, 3], "x": 2.75, "y": 2},
{"matrix": [2, 4], "x": 3.75, "y": 2},
{"matrix": [2, 5], "x": 4.75, "y": 2},
{"matrix": [2, 6], "x": 5.75, "y": 2},
{"matrix": [2, 7], "x": 6.75, "y": 2},
{"matrix": [2, 8], "x": 7.75, "y": 2},
{"matrix": [2, 9], "x": 8.75, "y": 2},
{"matrix": [2, 10], "x": 9.75, "y": 2},
{"matrix": [2, 11], "x": 10.75, "y": 2},
{"matrix": [2, 12], "x": 11.75, "y": 2},
{"matrix": [2, 13], "x": 12.75, "y": 2},
{"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
{"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
{"matrix": [3, 1], "x": 1.25, "y": 3},
{"matrix": [3, 2], "x": 2.25, "y": 3},
{"matrix": [3, 3], "x": 3.25, "y": 3},
{"matrix": [3, 4], "x": 4.25, "y": 3},
{"matrix": [3, 5], "x": 5.25, "y": 3},
{"matrix": [3, 6], "x": 6.25, "y": 3},
{"matrix": [3, 7], "x": 7.25, "y": 3},
{"matrix": [3, 8], "x": 8.25, "y": 3},
{"matrix": [3, 9], "x": 9.25, "y": 3},
{"matrix": [3, 10], "x": 10.25, "y": 3},
{"matrix": [3, 11], "x": 11.25, "y": 3},
{"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 14, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
{"matrix": [4, 1], "x": 1.5, "y": 4},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
{"matrix": [4, 7], "x": 4, "y": 4, "w": 7},
{"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
{"matrix": [4, 13], "x": 13, "y": 4},
{"matrix": [4, 14], "x": 14, "y": 4},
{"matrix": [4, 15], "x": 15, "y": 4}
]
}
}
@@ -3,18 +3,18 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
[0] = LAYOUT_all(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
@@ -3,18 +3,18 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
[0] = LAYOUT_all(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
[1] = LAYOUT_all(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
@@ -0,0 +1,24 @@
# Matrix Diagram for GrayStudio think65v3
```
┌───────┐
2u Backspace │0D │
└───────┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐
│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │ │
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┘ ┌──┴┐2E │ ISO Enter
│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2D │ │
├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘
│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │
├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┐
│40 │41 │42 │47 │4A │4B │ │4D │4E │4F │
└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
┌────────┐
│30 │ 2.25u LShift
└────────┘
┌─────┬───┬─────┬───────────────────────────┬─────┐
│40 │41 │42 │47 │4B │ Blocker Tsangan
└─────┴───┴─────┴───────────────────────────┴─────┘
```
+1
View File
@@ -18,6 +18,7 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u4",
"bootloader": "halfkay",
"community_layouts": ["66_ansi"],
"layouts": {
"LAYOUT_66_ansi": {
"layout": [
@@ -0,0 +1,92 @@
{
"keyboard_name": "Dactyl Tracer",
"manufacturer": "mjohns",
"url": "https://github.com/mjohns/tracer",
"maintainer": "mjohns",
"usb": {
"vid": "0x444E",
"pid": "0x1307",
"device_version": "1.0.0"
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"mousekey": true,
"extrakey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["C6", "D7", "E6", "B4", "B5"],
"rows": ["F7", "B1", "B3", "B2", "B6"]
},
"diode_direction": "COL2ROW",
"development_board": "promicro",
"split": {
"enabled": true,
"soft_serial_pin": "D0"
},
"layouts": {
"LAYOUT" : {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0.25},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [5, 0], "x": 9, "y": 0},
{"matrix": [5, 1], "x": 10, "y": 0},
{"matrix": [5, 2], "x": 11, "y": 0},
{"matrix": [5, 3], "x": 12, "y": 0},
{"matrix": [5, 4], "x": 13, "y": 0.25},
{"matrix": [1, 0], "x": 0, "y": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [6, 0], "x": 9, "y": 1},
{"matrix": [6, 1], "x": 10, "y": 1},
{"matrix": [6, 2], "x": 11, "y": 1},
{"matrix": [6, 3], "x": 12, "y": 1},
{"matrix": [6, 4], "x": 13, "y": 1.5},
{"matrix": [2, 0], "x": 0, "y": 2.5},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [7, 0], "x": 9, "y": 2},
{"matrix": [7, 1], "x": 10, "y": 2},
{"matrix": [7, 2], "x": 11, "y": 2},
{"matrix": [7, 3], "x": 12, "y": 2},
{"matrix": [7, 4], "x": 13, "y": 2.5},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [3, 4], "x": 5, "y": 3.25},
{"matrix": [8, 0], "x": 8, "y": 3.25},
{"matrix": [8, 2], "x": 11, "y": 3},
{"matrix": [8, 3], "x": 12, "y": 3},
{"matrix": [4, 2], "x": 3, "y": 4 },
{"matrix": [3, 3], "x": 4, "y": 4 },
{"matrix": [4, 4], "x": 5, "y": 4.25},
{"matrix": [9, 0], "x": 8, "y": 4.25},
{"matrix": [8, 1], "x": 9, "y": 4},
{"matrix": [9, 2], "x": 10, "y": 4},
{"matrix": [4, 3], "x": 4.5, "y": 5.25},
{"matrix": [9, 1], "x": 8.5, "y": 5.25}
]
}
}
}
@@ -0,0 +1,23 @@
// Copyright 2022 mjohns
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* Enables This makes it easier for fast typists to use dual-function keys */
#define PERMISSIVE_HOLD
/* mouse config */
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
#define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_WHEEL_DELAY 0
#define TAPPING_TERM 200
#define MASTER_RIGHT
@@ -0,0 +1,60 @@
// Copyright 2022 mjohns
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum custom_layers {
_BASE,
_RAISE,
_LOWER,
_SYS,
};
#define MG_A LGUI_T(KC_A)
#define MA_S LALT_T(KC_S)
#define MC_D LCTL_T(KC_D)
#define MS_F LSFT_T(KC_F)
#define MS_J RSFT_T(KC_J)
#define MC_K RCTL_T(KC_K)
#define MA_L LALT_T(KC_L)
#define MG_SCLN RGUI_T(KC_SCLN)
#define APP_N A(KC_TAB)
#define APP_P LSA(KC_TAB)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN,
KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC,
MO(1), MO(2)
),
[_RAISE] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,
KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD,
KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS,
KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI,
_______, MO(3)
),
[_LOWER] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_F11, KC_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12,
KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO,
KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P,
KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO,
MO(3), _______
),
[_SYS] = LAYOUT(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
_______, _______
),
};
@@ -0,0 +1,15 @@
// Copyright 2022 mjohns
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
/* mouse config */
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
#define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_WHEEL_DELAY 0
#define TAPPING_TERM 200
#define MASTER_RIGHT
@@ -0,0 +1,60 @@
// Copyright 2022 mjohns
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum custom_layers {
_BASE,
_RAISE,
_LOWER,
_SYS,
};
#define MG_A LGUI_T(KC_A)
#define MA_S LALT_T(KC_S)
#define MC_D LCTL_T(KC_D)
#define MS_F LSFT_T(KC_F)
#define MS_J RSFT_T(KC_J)
#define MC_K RCTL_T(KC_K)
#define MA_L LALT_T(KC_L)
#define MG_SCLN RGUI_T(KC_SCLN)
#define APP_N A(KC_TAB)
#define APP_P LSA(KC_TAB)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN,
KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC,
MO(1), MO(2)
),
[_RAISE] = LAYOUT(
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,
KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD,
KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS,
KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI,
_______, MO(3)
),
[_LOWER] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_F11, KC_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12,
KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO,
KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P,
KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO,
MO(3), _______
),
[_SYS] = LAYOUT(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
_______, _______
),
};
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
@@ -0,0 +1,27 @@
# Dactyl Tracer
![DactylTracer](https://i.imgur.com/ReCBppEh.jpeg)
The Dactyl Tracer is a handwired, split bodied, concave key-well, columnar keyboard. Case design is similar to the [Dactyl CC](/keyboards/handwired/dactyl_cc) though overall design is closer to the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). The `Q` and `P` keys are vertically offset, from `A` and `;` keys respectively, to allow for easier actuation by third/ring finger.
* Keyboard Maintainer: [Michael Johns](https://github.com/mjohns)
* Hardware Supported: Pro Micro controller, or clone of
* Hardware Availability: [Case Files](https://github.com/mjohns/tracer)
Make example for this keyboard (after setting up your build environment):
make handwired/dactyl_tracer:default
Flashing example for this keyboard:
make handwired/dactyl_tracer:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
@@ -0,0 +1 @@
# File intentionally blank
@@ -0,0 +1,5 @@
// Copyright 2023 Ethan Perry (@wheres-perry)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define GRAVE_ESC_SHIFT_OVERRIDE

Some files were not shown because too many files have changed in this diff Show More