From 509d5347e13bf720f7347c0e15f99cb6492a1abe Mon Sep 17 00:00:00 2001 From: Abe Hendricks Date: Sun, 20 Oct 2024 11:21:46 -0700 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 7f22cb52e3aaafde671fdb994d53914366baf31a Author: Duncan Sutherland Date: Fri Oct 18 09:04:29 2024 +0100 Correct layouts/default/readme.md (#23805) Update readme.md remove orphan layout commit 36008922f8456694d45d2c36500dfba3c4271b09 Author: David Doan Date: Thu Oct 17 09:06:17 2024 -0700 add vector macropad (#24487) Co-authored-by: Joel Challis Co-authored-by: jack Co-authored-by: Ryan commit 2ad13037aba7e03ed9e869c1500da4474543d8b6 Author: Alabahuy Date: Wed Oct 16 23:16:31 2024 +0700 [Keyboard] Add JK60 RGB (#24485) commit 85a7627641cbbc71de1a89b0346ee7d92d4fb394 Author: Ryan Date: Wed Oct 16 01:05:43 2024 +1100 Digitizer: fix units tag in report descriptor (#24482) commit 11daef82e0c710d7bdacc7c78fe21fae864be191 Author: Joel Challis Date: Sat Oct 12 00:29:32 2024 +0100 zsa/moonlander: Fix execution of user callback (#24475) commit c95f0fb6710e5def9523d19496c93a10d278d78a Author: Ryan Date: Sat Oct 12 02:48:59 2024 +1100 `mykeyclub/jris65/hotswap`: fix keymap (#24472) commit f0b5feb85806269d5c51684e8d7787ee8a084567 Author: Woodrow Douglass Date: Thu Oct 10 23:31:08 2024 -0400 fix hotdox76v2 oled font to more closely mirror utf8 (#23807) commit f43c9127bf9e030ffb372fe46179abf99d7d8b72 Author: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Thu Oct 10 23:27:56 2024 -0400 Add Scotto37 handwired keyboard (#23938) Co-authored-by: Joel Challis commit 4055798807fed370f81f8b5670a70b71504c6d34 Author: azhizhinov Date: Fri Oct 11 06:01:00 2024 +0300 [Keyboard] Add Piantor UV 44 (#24247) Co-authored-by: Ryan commit 49a1a12a327e6f78db184e83e8ea805da4477775 Author: Drashna Jaelre Date: Thu Oct 10 12:54:53 2024 -0700 Expand count checks in keymap introspection (#24464) * Add check Tap Dance count check to keymap introspection * Add checks for combos and key overrides to introspection commit fb598e7e617692be0bf562afaf3c852c8db1c349 Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Wed Oct 9 12:30:32 2024 +0800 Fixup Lily58 keymap comment (#24466) commit c0d57a6826e9535ac4b0cc6053a3951073c4bbef Author: yiancar Date: Tue Oct 8 19:51:23 2024 +0100 Fix indicator code for NK classics (#24462) Fix indicator code Co-authored-by: yiancar commit 1a284f2b92f1cc6334eb7c3e1c3618e659cafc63 Author: Álvaro A. Volpato Date: Mon Oct 7 01:29:03 2024 -0300 Fix Caps Lock indication on Valhalla v2 (#23012) * Fix Caps Lock indication * User LED state function override added Co-authored-by: Drashna Jaelre * Change backlight enabled check and remove backlight headers Co-authored-by: Drashna Jaelre --------- Co-authored-by: Drashna Jaelre commit f25624dca4717150f719bc6d72418a6e195fb1f7 Author: Joel Challis Date: Sun Oct 6 18:26:48 2024 +0100 Fix `thumbsup:default` keymap (#24459) commit 035dcf213cce0f9d55a11284802144c3721a8f7f Author: sizezero Date: Sun Oct 6 10:01:30 2024 -0700 Add keyboard Jris65 (#23936) * first compiled, flashed, and tested version of jris65 * adding readmes for mykeyclub and jris65 * removed commented out code and unneeded files * typo in build instructions * renamed info.json to keyboard.json as per new standard * formatted with qmk format-json * fixed layout offset problem * moved some settings from c/h files to json * moved matrix from .h file to .json * cleaned up non-json options * moved settings from rules.mk to keyboard.json * fix for via after removing .h file * converted keymap.c to keymap.json * keymap.c has been replaced by keymap.json * FN+Backspace loads bootload * added custom keymap for Sean * config.h setting is only needed by via * formatted json * convert via keymap from .c .h .mk to keymap.json * moved keyboard configuration to hotswap dir; note in readme that only hotswap has been tested * Update keyboards/mykeyclub/jris65/keymaps/default/keymap.json Co-authored-by: jack * typo Co-authored-by: jack * blank layers do not need to be specified Co-authored-by: jack * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * removed extra newline Co-authored-by: Duncan Sutherland * cleaned up wording in readme Co-authored-by: Duncan Sutherland * QMK no longer supports user keymaps * remove settings that are already the default (false settings) Co-authored-by: jack * add image Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * re-added second layer with QK_BOOT for backspace * make the hotswap the default keyboard * added keyboard director prefix to DEFAULT_FOLDER * ran qmk format-json on keyboard.json * DEFAULT_FOLDER option is going away so don't use it * removed via keymap as they now reside in qmk_userspace_via --------- Co-authored-by: jack Co-authored-by: Duncan Sutherland commit 7446c6ea7d49b9967b6f308e47a351f8c1398ab5 Author: ak66666 <32971450+ak66666@users.noreply.github.com> Date: Sun Oct 6 05:08:18 2024 -0400 Added a new keyboard ThumbsUp! v9 with a default keymap (#23800) * Added a cleaned-up set of files for ThumbsUp! v9. * Renamed the keymap for v9 as default * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/info.json As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/readme.md As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/readme.md As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/rules.mk As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/info.json As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> * Delete keyboards/thumbsup/keymaps/default/readme.md as per review recommendation. * v9: Fixed the layout name in keymap.c file. * v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json. * v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json. * v9: Fixed the copyright header modified by mistake. * v9: Fixed the tri-layer switch as per the review recommendation. * v9: Fixed the copyright header modified by mistake. --------- Co-authored-by: jack <0x6a73@protonmail.com> commit ff213636279a3fe4f55077d684e9283bc9b726e8 Author: Robin Haberkorn Date: Sun Oct 6 11:01:20 2024 +0200 ibm/model_m/modelh: added ISO layout and keymap for Wheelwriter 10/15 keyboard modules (#24248) These are probably compatible with the Wheelwriter 1000 as well. commit c2dd0c184521c34b11f4189328c64bd99dfe860a Author: Steven Karrmann Date: Sun Oct 6 04:52:56 2024 -0400 Update Janus keyboard firmware to use EE_HANDS (#24261) * Use EE_HANDS https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom * Update Janus readme to indicate EEPROM handedness is used commit 13a87ad354c90a638cc7a71e7d23bead2f4771eb Author: rahanahu Date: Sun Oct 6 17:51:06 2024 +0900 `hotdox76v2`: Update g_led_config.matrix_co to fix key electrical matrix to led index lookup table. (#24293) update g_led_config on hotdox76v2/hotdox76v2.c Co-authored-by: rahanahu commit c82f6752666aa5795f80b90892c241dc40eb68d9 Author: Nick Brassel Date: Sun Oct 6 21:39:37 2024 +1300 Install `dnf copr` plugin if not present (i.e. docker containers). (#24308) * Install `dnf copr` plugin if not present (i.e. docker containers). * Don't need to skip prompt when invoking help. commit e12c1fefdfedbf772d10377c85e2c3caffbdb644 Author: yiancar Date: Sat Oct 5 10:16:25 2024 -0600 NK Classic TKL ISO (#24434) * initial_commit * fix keymap * Update keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json Co-authored-by: Duncan Sutherland --------- Co-authored-by: Duncan Sutherland commit 6a73c8299b53426295e6af9c30a51a1823b872c1 Author: anubhav dhiman <104914147+anubhavd7@users.noreply.github.com> Date: Wed Oct 2 17:28:41 2024 -0700 Add atset AT2 keyboard (#24099) Co-authored-by: Ryan Co-authored-by: jack Co-authored-by: Joel Challis Co-authored-by: zvecr commit 6374bad54060995eb43dc3bf2e6975d787aca53d Author: DOIO2022 <116554792+DOIO2022@users.noreply.github.com> Date: Thu Oct 3 08:27:36 2024 +0800 Add KB09-01 keyboard (#24044) Co-authored-by: jack commit b78118b2dd5267516a80e0fa7460ca491aafef4c Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 30 20:31:03 2024 +0100 Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.8 (#24453) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.8. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.8) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 015cd23616b921115002b4d6238d7ed1350f8f66 Author: Pham Duc Minh <95753855+Deemen17@users.noreply.github.com> Date: Mon Sep 30 07:23:21 2024 +0700 [Keyboard] Add DE80 PCB (#24439) commit f18a6993936517c86afa3e383fd16bb3b9611691 Author: Ryan Date: Mon Sep 30 09:26:31 2024 +1000 [docs] `reference_info_json`: add type hints (#24443) commit 4d6337539d4166eb1ef92251253f53d379ef852c Author: Joel Challis Date: Sat Sep 28 01:58:22 2024 +0100 Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6" (#24450) Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446)" This reverts commit 17fac880bf26d36bde6456d283b7db08c131a0c8. commit 17fac880bf26d36bde6456d283b7db08c131a0c8 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Sep 27 20:38:32 2024 +0100 Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.6. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.6) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 805cde674d6e7bb5c09fdc48dd04b135cc3430ac Author: Eric Date: Thu Sep 26 11:43:39 2024 -0700 input_club/ergodox_infinity ST7565 call spi_stop (#24429) commit f7393a5ab85e7b94f5ed19031a8fbb11b7f76e18 Author: nopunin10did Date: Wed Sep 25 15:25:03 2024 -0400 Fix jabberwocky key coordinates in QMK Configurator (#24435) commit 93cc3f58b1e99945268dd039d98feb71d70a0acd Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue Sep 24 09:55:18 2024 +0100 Bump rollup from 4.16.4 to 4.22.4 in /builddefs/docsgen (#24430) Bumps [rollup](https://github.com/rollup/rollup) from 4.16.4 to 4.22.4. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.16.4...v4.22.4) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 6a536d5588b17687d34c30b598945b855d2c1a35 Author: pancho horrillo Date: Sat Sep 21 20:48:31 2024 +0200 `.editorconfig`: fix inline comment, tidy name section for yaml (#24416) commit 4665d9c405dfe00aec5abb0bb0acbe4b0400bfdf Author: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Sat Sep 21 11:29:12 2024 -0600 [Keyboard] Add Fairholme PCB (#24400) Co-authored-by: Duncan Sutherland commit 2e86b05cab7e0bef6b4faf30d4c816f8b459452d Author: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Sat Sep 21 13:24:38 2024 -0400 Add Scotto69 (PCB Edition) (#24402) Co-authored-by: Joel Challis commit 61778f6136cac6f73ad042a1fb85b6bb548a7c1c Author: plodah <127351418+plodah@users.noreply.github.com> Date: Fri Sep 20 02:28:57 2024 +0100 Fix a_jazz/akc084 render (#24411) * Alter ZXC row to have y index of 4 and bottom row to have index of 5 * Fix other issues with `]}`, `'"` & Enter - pointed out by noroadsleft commit 1c03574424bfb0fa599d6cabf4ec724bfb27c21e Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Wed Sep 18 15:46:13 2024 +0100 Fix ADNS-9800 read (#24406) commit 42f1763db93b0f2c962e204ccc6e8ec7b07424a8 Author: kbladewht Date: Wed Sep 18 17:06:50 2024 +0800 Workaround for broken STM32L433 startup (#24404) Change STM32L433 LSI to False, this is to fix board startup issue , change is same to stm32L432 board commit e7c009c142e30f6a4433e2a27ea6b56e611e68af Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Sep 18 09:56:46 2024 +0100 Bump vite from 5.2.10 to 5.2.14 in /builddefs/docsgen (#24403) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.10 to 5.2.14. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.2.14/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.2.14/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit aa05fa649fae1f5318ef36d93cb79a6bf4b94f47 Author: jack Date: Sat Sep 14 16:09:01 2024 -0600 Update PR template (#24397) Initial commit 0b3ece1189b11e36790c99a1a80f75413b826bb4 Author: Sergey Vlasov Date: Fri Sep 13 23:52:31 2024 +0300 `qmk find`: Fix handling of keys with dots in filter functions (#24393) commit ae4ab5ed31360cbb327436ae7e76d1d0cef59449 Author: nopunin10did Date: Fri Sep 13 00:58:02 2024 -0400 [Keyboard] Styrka Atmel Custom PCB (#24380) * Workaround for broken ChibiOS startup (#23822) * Add personal keymap JSON * Delete viktus_styrka_nopunin10did_20240529.json * Add custom Styrka Atmel firmware * Styrka Atmel fixes to compile and readme * Remove VIA keymap * Remove user keymap and edit readme --------- Co-authored-by: Joel Challis commit 0c19eae916e5c883764a8e551077b5eeb32de152 Author: Ryan Date: Fri Sep 13 03:30:28 2024 +1000 `4pplet/waffling80/rev_b_ansi`: fix missing `keyboard.json` (#24390) commit b7729fa019833573b82d0742d9879388bfb6913c Author: nonameCCC <79012391+nonameCCC@users.noreply.github.com> Date: Wed Sep 11 13:43:36 2024 +0800 [Keyboard] Add Support for PH-AC Rhythm Game Controller (#24368) * [Keyboard] Add PHDesign PH-AC Rhythm Game Contoller Co-authored by alt-0191 * Detail Improvement * Update keyboard.json * Update readme.md * Update readme.md * Created Encoder Matrix * Posted Images * Suggested Changes * Update keyboard.json * Update readme.md * Update keyboard.json * Update readme.md commit e0788d19d4c3ea3b4f2f706baaaf16912f1c2dec Author: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Sun Sep 8 21:19:39 2024 +0300 Update EC60X LED count (#24374) Update keyboard.json commit f0435451446621a0e768c8a9123789b239a325b4 Author: jack Date: Fri Sep 6 10:30:54 2024 -0600 [Docs] Remove references to bootmagic lite (#24369) commit c44f5375ab6aa3ad98d48a8a32a973f8fe6ad20b Author: Duncan Sutherland Date: Fri Sep 6 15:59:39 2024 +0100 Correct 2u backspace matrix co-ordinate for Fave65s (#24353) commit 6d4f8d896398dda1177aa73ec2110fc0e3e10729 Author: jack Date: Fri Sep 6 08:42:22 2024 -0600 [Keyboard] Add Klor (#24302) commit 75848477fbfb3d37f0644db49ea1abe538c7321f Author: 4pplet Date: Fri Sep 6 08:35:26 2024 +0200 Add waffling80 hotswap PCB (#23551) Co-authored-by: jack <0x6a73@protonmail.com> commit 4a6ba1e808f02c285323447f620ca296c59ae2f2 Author: Ryan Date: Fri Sep 6 08:46:29 2024 +1000 Fix RGBW for WS2812 SPI driver (#24367) commit e83a36dfbf20f9a9d89a542d1a80c5cdc479c502 Author: Perry Wang <7255333+perrwa@users.noreply.github.com> Date: Thu Sep 5 14:27:35 2024 -0700 Fixes renaming typo of uno/rev2 json back to keyboard.json (#24366) Rename keyboard.jsono to keyboard.json commit 2b55e43e5411346a754b81e095b74a042fb48953 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Sep 4 03:57:19 2024 +0100 Bump peter-evans/create-pull-request from 6 to 7 (#24361) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit ef3a939880dc86228eceeb1ed10f158ab0a7bcb2 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon Sep 2 20:46:02 2024 +0100 Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4 (#24358) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.3 to 4.6.4. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.3...v4.6.4) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 28b6a8841fcc4f3198b107f1ae0bf4e3badf3fca Author: Ryan Date: Mon Sep 2 09:13:28 2024 +1000 Add `60_ansi_tsangan_split_bs_rshift` to community layouts (#24186) commit 884a808813fe9e5f90aab4079a5944997465161e Author: Stefan Otte Date: Sun Sep 1 18:59:21 2024 +0200 doc: "docker getting started" mentions `flash` limitations (#24336) * doc: "docker getting started" mentions `flash` limitations Mass storage bootloader don't work with `flash` target. * Update docs/getting_started_docker.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --------- Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> commit fba0408cb3735867167cfd3e990e0cbd7f58d165 Author: Duncan Sutherland Date: Sun Sep 1 04:46:47 2024 +0100 Add matrix diagram for EC 60X (#24045) * add matrix_diagram.md * Update matrix_diagram.md * Update matrix_diagram.md * Update matrix_diagram.md * unix line endings commit 16a811604ba9c60603e224e34d06b97f740926d7 Author: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Fri Aug 30 23:46:38 2024 -0400 [Keyboard] Add ScottoHazard (#24181) * Add ScottoHazard * Update to proper layout * Add header license * Update keyboards/handwired/scottokeebs/scottohazard/config.h Co-authored-by: Drashna Jaelre * Update keyboards/handwired/scottokeebs/scottohazard/keyboard.json Co-authored-by: Drashna Jaelre * Delete keyboards/handwired/scottokeebs/scottohazard/rules.mk --------- Co-authored-by: Drashna Jaelre commit d7e1eb3e48115d65b1f405172f16cf483c3a5d4e Author: Armin Anderson Date: Fri Aug 30 20:44:03 2024 -0700 [Docs] Update joystick.md (#23928) Explicit note about compatibility with ARM boards and the ADC driver commit 0da9bd2709abf798f589ecdbd694d92151c241a2 Author: fenggx-a-jazz Date: Fri Aug 30 10:57:06 2024 +0800 Add a-jazz akc084 keyboard (#24224) Co-authored-by: jack commit d4811c19b06029c1925d46b073f5478e72352194 Author: jack Date: Thu Aug 29 20:21:53 2024 -0600 Fix wrong OLED code for a few keyboards (#24344) * Initial * Other keyboards too commit 496f4480907e45be7b04a318b62d1ed6d2aa7f08 Author: Ryan Date: Fri Aug 30 12:20:05 2024 +1000 Fix two firmware size warnings (#24343) commit d95690d89c89301845b1c87a8b8773c610e07fab Author: Antoine Bertin Date: Fri Aug 30 03:56:25 2024 +0200 [Keyboard] Fix splitkb/corne OLED code (#24260) commit fd65bd5ae014565d333195285b154d9eeca9294b Author: leyew <102467346+itsme-zeix@users.noreply.github.com> Date: Wed Aug 28 22:52:02 2024 +0800 [Keyboard] Add Acid and Co. Stellaron TKL (#24154) commit 4b1f916b9964dc8dee5d2b2aa3a9b8385be652f1 Author: Thanh Son Tran <62438883+trnthsn@users.noreply.github.com> Date: Wed Aug 28 21:38:37 2024 +0700 [Keyboard] Add Tyson60s keyboard (#24047) commit 0f434865376ef012b377c9e319aaac7da0f924b4 Author: Nick Brassel Date: Tue Aug 27 08:05:45 2024 +1000 Changelog update with actual `qmk_userspace_via` link. (#24332) commit 530e0447621c8a23dbd2bf22137b1e90bdc61989 Author: Joel Challis Date: Mon Aug 26 22:28:23 2024 +0100 Update PR Checklist for 'via' keymaps (#24330) commit 8b42e5fb8f74da4de63f3cec941f53ba6b974aba Author: zlabkeeb <160311066+zlabkeeb@users.noreply.github.com> Date: Mon Aug 26 18:58:48 2024 +0700 [Keyboard] Add Macropad VRYNBOARD (#23931) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: jack Co-authored-by: ZahraNetMe commit c1348224862d9b4473b5dda7605bf1b6e12d119d Author: Ryan Date: Mon Aug 26 15:14:06 2024 +1000 Update next breaking changes date (#24331) commit 63206aebcf8ff47d7e0a24d76eb0e39046a33d47 Author: MrMustardTBC Date: Sun Aug 25 22:34:42 2024 -0500 fixed spelling errors in example 4 (#24318) commit c05cafa3dfa485b2cbb056ee4d3bd5caaa9a8b71 Author: Joel Challis Date: Mon Aug 26 04:33:40 2024 +0100 Add via keymaps to gitignore (#24329) commit 7a4f21d34086278cf1484e4e92837260f76b1396 Author: Joel Challis Date: Mon Aug 26 03:56:03 2024 +0100 Reject via keymaps in lint (#24325) commit 5d76c5280dc0aff398cdce19fa54d0e0725c418d Merge: e6a898e3ee 81dcf2b547 Author: Nick Brassel Date: Mon Aug 26 10:01:57 2024 +1000 Merge branch 'develop' commit 81dcf2b547bacc42bd9cf8ccaccd3d7164e69926 Author: Nick Brassel Date: Mon Aug 26 10:00:11 2024 +1000 Merge point for 2024q3 breaking change -- take 2 commit 5741eb7b10ecc7da4453424004fd291ed0573e4d Author: Nick Brassel Date: Mon Aug 26 09:57:35 2024 +1000 Fixup python tests for missing `via` keymaps. commit 9976d0f54775d63f913157e69026dd5c55f22282 Author: Nick Brassel Date: Mon Aug 26 09:49:08 2024 +1000 Merge point for 2024q3 breaking change commit acac787842fa7c0582f5f83ce2b23661969a1a8d Author: Nick Brassel Date: Mon Aug 26 09:46:12 2024 +1000 2024q3 breaking changes changelog (#24324) Co-authored-by: Joel Challis commit 45dc2499dc369ce0ac7a4868a01ffb18fbaf0384 Author: Nick Brassel Date: Mon Aug 26 07:51:22 2024 +1000 Remove all via-enabled keymaps, including `via`. (#24322) commit 8f6d2ac53cdde6d0befc9f86c326f56620dcfcc0 Author: Ryan Date: Sun Aug 25 22:15:07 2024 +1000 Update Underglow keycodes (#23765) Co-authored-by: Nick Brassel commit fc9d848a775b7d0b9f74e3df6a247d03a3189100 Author: Nebuleon <2391500+Nebuleon@users.noreply.github.com> Date: Sat Aug 24 09:10:48 2024 -0400 Fix build failure on zsa/moonlander with DYNAMIC_MACRO_ENABLE (#24316) commit b3bb19a96dd2198ad48e3d9f855d76bfa0e00022 Merge: 048f2ddcbf e6a898e3ee Author: QMK Bot Date: Wed Aug 21 21:56:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit e6a898e3eea3521d3f0497ee26937d5269d78fb7 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Aug 21 22:56:22 2024 +0100 Bump tj-actions/changed-files from 44 to 45 (#24313) Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 44 to 45. - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](https://github.com/tj-actions/changed-files/compare/v44...v45) --- updated-dependencies: - dependency-name: tj-actions/changed-files dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 048f2ddcbf36241f6ce5ecab2b5392a1f03e2dea Merge: 31b962b339 373364afd1 Author: QMK Bot Date: Wed Aug 21 14:16:01 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 31b962b3397818166aba94912879d44d30c75d2e Merge: 97a0091bbb 557e4e7ffc Author: QMK Bot Date: Mon Aug 19 19:05:10 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 97a0091bbbaf2defefddbf1fa4423d5ecba01086 Merge: 21b84596e7 e910c89e0b Author: QMK Bot Date: Mon Aug 19 18:08:45 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 21b84596e7c372eeeedcf41a32c6c25379cd8f0e Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Mon Aug 19 10:18:28 2024 +0800 Enhance overlapping mouse keys control (#23341) Enhance the overlapping mouse key press acceleration (introduced in #21494) with user preprocessor controls. commit e9cb9f42a511afd24a47812b5cf83895e8936744 Author: Drashna Jaelre Date: Sun Aug 18 17:13:38 2024 -0700 [Keyboard] Update ZSA Moonlander (#23911) commit 48d3edd66f617421a1b8c58b8e03e9e83f836346 Merge: ab4c13e835 1355eb493f Author: QMK Bot Date: Sun Aug 18 21:33:42 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit ab4c13e835060f6fb921a7d206e28f9525d34178 Author: Drashna Jaelre Date: Sat Aug 17 17:35:10 2024 -0700 Add dynamic macro keyboard callbacks (#24142) commit faf51c7449880d38a006a19bf900be547177928a Merge: 8db800bfba 072947e573 Author: QMK Bot Date: Sat Aug 17 20:41:16 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8db800bfbab9c0ff26805ba61f579fdd6e321dc7 Merge: 5f8aaf236f fe50774cb4 Author: QMK Bot Date: Thu Aug 15 14:22:39 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5f8aaf236ff1cd2263ceeccfda48644c1b951004 Merge: 1f02cd45af 39324e642f Author: QMK Bot Date: Thu Aug 15 13:37:59 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1f02cd45af7e59d9a62baf630a648a6185be792b Merge: 2d2eed9594 b07a68230d Author: QMK Bot Date: Thu Aug 15 11:11:07 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2d2eed9594bb62b79d1eaffe25775d56adcd537f Author: Drashna Jaelre Date: Wed Aug 14 06:27:37 2024 -0700 [Keyboard] Move Planck EZ to ZSA vendor folder (#23917) commit 822a4580f45f5cdf7c0857e21b8144e933681f7f Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Wed Aug 14 07:55:00 2024 +0800 Refactor starlight RGB matrix effects (#24202) * Use unsigned integers * Use lib8tion random8 function * Test for valid LED flags * Use rgb_matrix_hsv_to_rgb function commit 91f293d0c7209c9421d4fbc8b952a8501b0b56fb Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Wed Aug 14 07:54:01 2024 +0800 Refactor riverflow RGB matrix loop (#24203) Check for LED flags at the start of loop to skip early commit 40f2575b567234e78d2e13451fc90b7e04ef7049 Author: Izumemori Date: Tue Aug 13 01:06:24 2024 +0200 Fix NKRO and Mouse Emulation on arm_atsam (#23945) commit 45397a44e31b56189d35cbd77a20252cb2140aa1 Merge: 2c6409fdd8 dccada95aa Author: QMK Bot Date: Mon Aug 12 13:26:02 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2c6409fdd8deed5b10410b5e9a74748499e0739c Merge: 783f97ff32 380e0c9cad Author: QMK Bot Date: Mon Aug 12 12:34:54 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 783f97ff32de1d6febceb09f46dfa624e4fc56ec Author: Joel Challis Date: Mon Aug 12 13:29:05 2024 +0100 Remove handling of keyboard level keymap templates (#24234) commit ca6ba30a725c025ce2494276c703ff1d0d51b29b Merge: 019b6f67b2 158aaef78c Author: QMK Bot Date: Mon Aug 12 10:36:29 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 019b6f67b2029030a664a2d7ef545b08ace8bedb Author: Joel Challis Date: Sat Aug 10 13:50:36 2024 +0100 Remove keyboard level `QK_BOOT` implementations (#24231) commit 339b820520e13ea9c21eada904a973576a7985cc Author: jack Date: Wed Aug 7 21:48:44 2024 -0600 Fixup `handwired/dactyl_minidox` (#24253) * Initial * Fix missing bracket * Fix keymap name * Fix rgb matrix coordinates * Remove unncessary centre point commit fc209e1c516553ceb536a3ec811d67600f5e9ffe Merge: c0e2ecb825 5acc3b2b7b Author: QMK Bot Date: Wed Aug 7 20:44:32 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c0e2ecb82510897a14f4a3409e8b0984e3828b15 Merge: 142128740d 78900720fd Author: QMK Bot Date: Wed Aug 7 20:38:19 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 142128740d9c91426ada5031d6e1e7deee152b1e Merge: ac1b488170 c67c3d375b Author: QMK Bot Date: Wed Aug 7 20:29:11 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit ac1b4881707d78aab3870583ace7d7970f05da27 Author: Joel Challis Date: Sun Aug 4 20:34:57 2024 +0100 Refactor printedpad (#24236) commit b5b4e938579b2cc1c088054814e6a0a9c01cea1a Author: Joel Challis Date: Sun Aug 4 15:14:30 2024 +0100 Refactor orthocode (#24237) commit 1f942bb17e0f324f81788106a72c7573304d65ff Author: Ryan Date: Sun Aug 4 21:28:40 2024 +1000 Small tweaks to keymap generation (#24240) commit 5c10bd3d8c4815c4577b90995fcc2b000a1af13b Author: Nick Brassel Date: Sun Aug 4 11:44:24 2024 +1000 Fixup changelog entry path. commit 0fbe15030357a9dca7d6d3d9de4facea5a7b4bcc Author: Joel Challis Date: Sun Aug 4 02:07:02 2024 +0100 Remove unnecessary RGB Matrix shutdown hooks (#24238) commit 0b4065b50cbcb1760c7e81d3c550c2dfdacd9d83 Author: Ryan Date: Sun Aug 4 11:03:54 2024 +1000 `hs60/v1`: separate into ANSI and ISO revisions (#24136) commit b04fee4ff74420c7495ac6e5e7f655a035ac6653 Merge: ddc60da839 75402109e9 Author: QMK Bot Date: Sat Aug 3 23:48:33 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit ddc60da83946e715cc26d3a603f576fb02c41e34 Merge: bb20093b24 fa657fef70 Author: QMK Bot Date: Sat Aug 3 23:38:27 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit bb20093b2472615ee32b5dd50e72f52329928459 Merge: 8808fffc2f d28a50e176 Author: QMK Bot Date: Sat Aug 3 22:17:52 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8808fffc2f03cc1cf53452af63101470036de887 Author: Joel Challis Date: Sat Aug 3 23:10:09 2024 +0100 Refactor opendeck/32 (#24233) commit 9f387f525cb7f9099c4a90ad42d1195c1901c2a3 Author: Ryan Date: Sun Aug 4 01:55:02 2024 +1000 Remove `handwired/pytest/has_template` (#24232) commit 807ba71c897cae04ed3191267545636858404438 Merge: 5439507f5e c7662e4f36 Author: QMK Bot Date: Wed Jul 31 00:08:24 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5439507f5e31de83bb237969c5bbc3f32aeb1469 Merge: 8ca082892a 73cb6fd89f Author: QMK Bot Date: Tue Jul 30 21:22:14 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ca082892ab0502746855a18853ea218a4b931ac Author: Nick Brassel Date: Tue Jul 30 13:06:15 2024 +1000 Eliminate use of `#include "../default/keymap.c"`. (#24215) commit 9c1e1d1fee88fbcb91f02af65d391abdeabba308 Merge: 02b43b4b60 d538451adb Author: QMK Bot Date: Sun Jul 28 18:16:45 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 02b43b4b603a426627c63e7bd0e48de8e88028e6 Author: Joel Challis Date: Sat Jul 27 06:02:51 2024 +0100 Refactor use of `matrix_scan_kb` (#24200) commit 20ae67ba01c4fd934ae73476a17c8e7d36c821d0 Author: Joel Challis Date: Sat Jul 27 05:56:33 2024 +0100 Remove duplicate calls to `housekeeping_task_user` (#24201) commit 938837e881cb45fd567dfe8b4a2759c71864ec74 Author: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Date: Fri Jul 26 22:14:00 2024 -0400 refactor: keyboard/ncr80/r2 (#22670) Co-authored-by: Duncan Sutherland commit b3d8d5671cc198ab5702ea3cecd920e50745a1f3 Merge: 56ebd3b829 cf84ea7662 Author: QMK Bot Date: Fri Jul 26 00:42:26 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 56ebd3b8297db4dc2c1e1f36ef522e98468a5988 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Thu Jul 25 22:51:32 2024 +0100 Rename promicro_rp2040 converter to sparkfun_pm2040 (#24192) commit f98ddf02f4fe522adfc5980e313dfe7efeba390f Author: Joel Challis Date: Wed Jul 24 22:11:18 2024 +0100 Remove split.transport.protocol=serial (#24191) commit c25b3bbe90881de411ab2e3ba2720b51d38060b0 Merge: c45e75037b 8c35011d0a Author: QMK Bot Date: Wed Jul 24 05:17:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c45e75037bcb10691ee26ca41d7c2c119170c3bf Merge: 783f465cd4 8c5acdea12 Author: QMK Bot Date: Wed Jul 24 03:51:08 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 783f465cd4fe5c677bdf62653da6499c35b78a67 Merge: 59c275afbc 60c5ad821c Author: QMK Bot Date: Tue Jul 23 23:06:19 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 59c275afbc2f01dbee750c0a59e20ada2913252b Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Wed Jul 24 02:34:00 2024 +0800 Check LED flags for Pixel Fractal effect (#23881) commit bcfe3a071851f4c8bd06928014dd9c744fdb5e80 Author: Joel Challis Date: Tue Jul 23 15:49:11 2024 +0100 Migrate split.soft_serial_pin to split.serial.pin H-O (#24185) commit adb884761d503ff59e462eaf093b04889c3c8e66 Merge: e8103722bc 622dc56250 Author: QMK Bot Date: Tue Jul 23 11:21:45 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit e8103722bcbce957ebf15da34b80571b49737572 Author: Joel Challis Date: Tue Jul 23 12:13:05 2024 +0100 Migrate split.soft_serial_pin to split.serial.pin 0-H (#24155) commit ce1adce69621378d5200d41d8ff0f15368c9161f Author: Joel Challis Date: Tue Jul 23 12:12:52 2024 +0100 Migrate split.soft_serial_pin to split.serial.pin O-Z (#24146) Migrate split.soft_serial_pin to split.serial.pin commit df2d30fd2c224ec2312d63f3eab35dd8b446c3b3 Merge: 883821fa62 d079372580 Author: QMK Bot Date: Tue Jul 23 11:04:03 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 883821fa621a487b8d6a079cdf460831a1d63025 Author: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Tue Jul 23 19:38:03 2024 +0900 Rename EC Type-K (#24180) Board name order change and default brightness change commit 599899c5fb66eca107b14af939744e0afd3b5685 Merge: 1eaead3ba4 af70e3759a Author: QMK Bot Date: Tue Jul 23 10:37:50 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1eaead3ba4afd6c1acac544ac3299da0cd93795c Merge: 9da9b245d3 4bcc80ad46 Author: QMK Bot Date: Mon Jul 22 16:13:06 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9da9b245d34cb8ed49c6cd4250617b827c8e394d Merge: a9d6825795 82f9019cc9 Author: fauxpark Date: Tue Jul 23 01:40:23 2024 +1000 Merge remote-tracking branch 'upstream/master' into develop commit a9d6825795a265d27b167a466a56ddd57245b106 Merge: 8ef275789c 8d5517fa63 Author: QMK Bot Date: Mon Jul 22 15:05:12 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8ef275789cdf8020adbc04742b73f5a2e2b6c071 Merge: a5e9926c45 ee1505971f Author: QMK Bot Date: Mon Jul 22 14:53:04 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a5e9926c45dd050d79ea454770838da56e226515 Merge: cced3ee622 b6e1a20950 Author: QMK Bot Date: Sun Jul 21 20:30:14 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit cced3ee6225f0eebaa8b0a1d9e18231bb334f352 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun Jul 21 01:53:11 2024 +0100 Fix incorrect conflict resolution commit 4e20740efa14f7f81b2ec6e5994bf79631abfb7f Merge: d5cc00ab62 f2c789bb4a Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sun Jul 21 01:08:51 2024 +0100 Merge branch 'master' into develop commit d5cc00ab62361c35fa06e78cdfa1481d3194a089 Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Sat Jul 20 23:49:20 2024 +0100 Remove instances of MASTER_LEFT. (#24163) commit 1e4435f22d038d77096d60ec4a61b74be3037140 Merge: 23e7d93d0e fab50be817 Author: QMK Bot Date: Sat Jul 20 22:02:26 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 23e7d93d0e30de2dea0fc2d541e4aa41edddc809 Merge: 8a58ad27a2 eb60235cd5 Author: QMK Bot Date: Sat Jul 20 21:53:32 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8a58ad27a295fdd08a416559945100231e7e7b68 Merge: 2764e48146 2fb9816c77 Author: QMK Bot Date: Sat Jul 20 13:04:27 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2764e48146c7473f7b11b821cc9e2d22b5edc70b Merge: a6c8c41c68 6fbe91aecd Author: QMK Bot Date: Sat Jul 20 09:57:21 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a6c8c41c685fc687439cacdb8e1c6f0c1aaffa18 Merge: 78fa0f5ca0 a6857872f2 Author: QMK Bot Date: Fri Jul 19 05:56:43 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 78fa0f5ca0e495f868b7c28121100b7372424866 Merge: ddb679ba88 56323f75c6 Author: QMK Bot Date: Fri Jul 19 05:55:19 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit ddb679ba88231c635d3ec6b7917ca016af51c5f2 Merge: 7b4e806c25 11031adc1b Author: QMK Bot Date: Fri Jul 19 05:54:27 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7b4e806c25f791ffec0c5f336164d33dccab21b8 Author: Ryan Date: Fri Jul 19 08:13:49 2024 +1000 Move LED Matrix LED config to data driven (#24122) commit 8b46500a74fa85e06249c2bd74125e0d534320ee Merge: 5a0112df08 d79f46e408 Author: QMK Bot Date: Thu Jul 18 22:05:16 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5a0112df089727b3c2321cc2373921afb856f7dc Author: Joel Challis Date: Thu Jul 18 22:21:26 2024 +0100 Migrate half-duplex `SERIAL_USART_TX_PIN` to DD (#24143) commit 7ca04241892d5ab3ed88e181d8576cd98f1e3515 Merge: 4ab36df48f 2ddfd60be7 Author: QMK Bot Date: Thu Jul 18 07:11:15 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4ab36df48fba751ca88beaf1a7a5dd84ba34a370 Author: Joel Challis Date: Thu Jul 18 00:02:53 2024 +0100 Move split.soft_serial_pin to split.serial.pin (#24127) commit daa777d6fb655c5fe16df4b3f1e89a37ab35dc57 Author: Nick Brassel Date: Thu Jul 18 08:59:08 2024 +1000 [WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439) commit e69be076fc1da66e7cebbb5f4f7ad9ddb851d687 Merge: 275e9de350 63ef6516d3 Author: QMK Bot Date: Wed Jul 17 19:31:51 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 275e9de350d3588ddab058fda6536111b7a27fdc Author: Ryan Date: Thu Jul 18 01:13:40 2024 +1000 Remove pointless `RGB_MATRIX_LED_COUNT`s (#24133) commit 35356c4623ac767f81342fd49f90a193ab9afcf3 Merge: 8abaa3bc2d 522bf1daf2 Author: QMK Bot Date: Tue Jul 16 04:43:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8abaa3bc2df4fda13a96d0c5c4ce74b70c974fb7 Author: Nick Brassel Date: Tue Jul 16 09:22:17 2024 +1000 Add support for key override introspection. (#24120) commit fef8e7195b09158a9b43ffd05df60128f3cd3ac3 Merge: 65143b08a3 a763dd5bbd Author: QMK Bot Date: Mon Jul 15 08:42:14 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 65143b08a3df8bfe458ae7984be2075146843fb7 Merge: fd44e96110 c70c99367a Author: QMK Bot Date: Mon Jul 15 05:30:07 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit fd44e9611033ed5baf33585dc72decbe78939c00 Merge: 40d617f812 b5b06f1094 Author: QMK Bot Date: Mon Jul 15 05:06:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 40d617f8127eefc20cc682a2ce4e09576107ea8a Merge: d885963e38 c2dbbc060a Author: QMK Bot Date: Mon Jul 15 04:59:04 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit d885963e3838785024f8f629fcad96cf6a35a0fc Author: Robbie <34013278+roarmstrong@users.noreply.github.com> Date: Mon Jul 15 14:23:13 2024 +1000 [Keyboard] Whitefacemountain Ampersand (#23437) Co-authored-by: Drashna Jaelre commit 85447bd53b15b0be387336169feae1c7ff87f15c Author: Ryan Date: Mon Jul 15 12:03:30 2024 +1000 LED drivers: extract documentation from LED/RGB Matrix pages (#23630) commit 21b9b70c503da69d2567af100c3d5e3544664e4b Author: Tvrd Rad Keyboards <103246902+TvrdRadKeyboards@users.noreply.github.com> Date: Sun Jul 14 08:00:26 2024 +0200 Add TRKeyboard TRK1 keyboard (#23642) commit c0aca9f45cce70d590f8644374b957b0161eaabc Author: Joel Challis Date: Sun Jul 14 06:38:04 2024 +0100 Various fixes for keyboards not implementing callbacks correctly (#24116) commit e76069ea4eb73d97c85cf0272fe14285fad32fb8 Merge: 2db93b5945 875eb43a28 Author: QMK Bot Date: Sat Jul 13 13:41:12 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2db93b594589c673f9d09917eb43b9abec7f6059 Merge: 3ebf9880ca 2908f0b846 Author: QMK Bot Date: Sat Jul 13 13:28:04 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3ebf9880ca78686275c9636a9516b67ad9e7f163 Merge: 83a7506438 a3d938d822 Author: QMK Bot Date: Sat Jul 13 13:19:36 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 83a75064382c5747845af71ef06369b691996b44 Merge: f0807ea64f 6dfd7ed46f Author: QMK Bot Date: Sat Jul 13 12:44:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit f0807ea64f97c5d2af856d987a7a5088676b38ad Author: Joel Challis Date: Sat Jul 13 13:29:16 2024 +0100 Migrate SPLIT_HAND_PIN to json (#23924) commit 26e84c513c9c2ff366cfcdcdb28b417a4c4f04a7 Author: Joel Challis Date: Sat Jul 13 13:12:35 2024 +0100 Migrate SERIAL_DRIVER to json (#23925) commit 1552cf2ddca1668c5230506de03e6b4a870f8961 Author: Ryan Date: Sat Jul 13 18:41:05 2024 +1000 Update atomic GPIO macros in keyboard custom matrix (#23796) commit 5c43a9bed13e885f9a5b04f521f508f8c7e44e7e Merge: cfd0ab2198 7b5d7907df Author: QMK Bot Date: Sat Jul 13 02:11:31 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit cfd0ab2198b77d613bc59e401712a686d4a93bb5 Merge: 85cf8b5183 79ad561b67 Author: QMK Bot Date: Fri Jul 12 20:47:09 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 85cf8b5183384e7c5eebe99e78cb906dad1a8393 Merge: 52ee9f2ce1 5a5f68038e Author: QMK Bot Date: Fri Jul 12 09:36:02 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 52ee9f2ce1dd7b67a9cd1332d198b63c1d0dc7c8 Author: Joel Challis Date: Fri Jul 12 08:06:19 2024 +0100 Convert `eeconfig_init_kb` implementations to config (#24087) commit 2c2885639e7e6e923c7fe6b55082403acfe70276 Author: Joel Challis Date: Fri Jul 12 02:42:23 2024 +0100 Remove broken keymap from keebio/iris (#24094) commit 57b7f8534b2e04af27e7b0002484199874aff6b1 Merge: 6051fc87e3 4d4d7b76b0 Author: QMK Bot Date: Fri Jul 12 00:20:05 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6051fc87e3c809802694d38b3742274eca4cf660 Merge: aaf9074e85 c58c5fa8fa Author: QMK Bot Date: Fri Jul 12 00:19:31 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit aaf9074e858a7d6445ec49fe7ea5a19be7e0d103 Merge: 1ba4fef711 565bb704e0 Author: QMK Bot Date: Thu Jul 11 23:49:18 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1ba4fef711fb9fd5651aafb1f0895bfa5a01042e Merge: 3251f4b168 890909c2d7 Author: QMK Bot Date: Thu Jul 11 23:19:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3251f4b1689c6eb7b16e00cc71b26eeb3f0f8232 Merge: f7a53df9d4 f15fff3258 Author: QMK Bot Date: Thu Jul 11 23:01:49 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit f7a53df9d4c73963b474723b5e7d89ee5f769599 Author: QMK Bot Date: Fri Jul 12 09:00:17 2024 +1000 [CI] Format code according to conventions (#24101) commit f922ed4283a2bb93b8ff7c49f3c9d09428139f2f Merge: 4827d383a8 7d94db8661 Author: QMK Bot Date: Thu Jul 11 22:59:43 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4827d383a802d4fe81e10af1738ec85894257928 Merge: ec5786bdd1 063f1444c6 Author: QMK Bot Date: Thu Jul 11 22:49:15 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit ec5786bdd1e67baa6028c15e9a9169695cdd4451 Merge: 2df8046dd0 2e671cfd8b Author: QMK Bot Date: Thu Jul 11 13:54:04 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2df8046dd0852842d96e2af3ae72a11b2d944652 Merge: 2623a258f1 1b8b6801d4 Author: QMK Bot Date: Thu Jul 11 13:44:07 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2623a258f1cc2a1687ef4529892b8fe6fb9be5f0 Author: leyew <102467346+itsme-zeix@users.noreply.github.com> Date: Thu Jul 11 21:40:54 2024 +0800 [Keyboard] Rename dnworks/9973 to dnworks/tkl87 (#23692) commit ac8759fe74238038ab6298393cfdd136993bcf3f Merge: 22f830d67c cc62eb503d Author: QMK Bot Date: Thu Jul 11 13:40:17 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 22f830d67c4fcb32ed8b8b5f7b21b45804fd28cb Merge: 27ea1b1332 0c4fd514f1 Author: QMK Bot Date: Thu Jul 11 12:52:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 27ea1b1332c9899bb94d8e3231bb1a24bbf7f81e Merge: e0809eade5 3d10171e2c Author: QMK Bot Date: Thu Jul 11 12:50:20 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit e0809eade5b054035a2bc0d00b1a8e9a02ba0d19 Author: Joel Challis Date: Thu Jul 11 13:47:53 2024 +0100 Various fixes for keyboards not implementing callbacks correctly (#24092) commit 23c470412381806c47e6b7f5e7368a1bf4387788 Merge: 4d4ccdc41a e3ef5b2d9d Author: QMK Bot Date: Thu Jul 11 12:47:41 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d4ccdc41a34ac74081eea4d530da281a9da5f00 Merge: b066c86e43 f8cf58a512 Author: QMK Bot Date: Thu Jul 11 12:11:16 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit b066c86e432347e8abd52eb0faffc3db26dd4ede Author: zvecr Date: Thu Jul 11 11:03:11 2024 +0100 bad_kb_funcs1 commit 494af672ced0f10bf5c60f9d5a8dac68d579640f Author: jack Date: Thu Jul 11 00:14:49 2024 -0600 Fixup boardsource/the_q RGB matrix coordinates (#24086) commit aa8d68036ab4c57d80fc6727d70720b4722a940f Merge: f5319d8911 efa5b30cfd Author: QMK Bot Date: Thu Jul 11 02:50:40 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit f5319d891185d4c8099861a303701d312bfca9d1 Author: Joel Challis Date: Thu Jul 11 01:17:08 2024 +0100 Remove DEFAULT_FOLDER from maple_computing/lets_split_eh (#24054) commit d69b44e68a3e00a229df860b1f0af01790bf49ca Author: Will Hedges <36576135+will-hedges@users.noreply.github.com> Date: Wed Jul 10 19:15:35 2024 -0500 refactor bear_face/v1, v2 (#24060) Co-authored-by: jack commit f637ff8966f43cc6dc5d39a490d1c03a03a374af Merge: c97ec805cd fb54a59bba Author: QMK Bot Date: Thu Jul 11 00:10:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c97ec805cd1096bb60bf55ab19973dc01bd043b4 Author: jack Date: Wed Jul 10 13:19:06 2024 -0600 [Keyboard] Add boardsource/the_q (#23782) * initial unsplit keyboard * move shared code * unsplit: fix underglow led x,y & remove unecessary code * unsplit: remove split code & tidy readme * unsplit: limit brightness & community layout * rename keyboard * the_q: tidy keymap & readme * lulu: remove accidental build target * rename file commit 07fd2063706f7eb4efdd936dfbcb53e49a8abe16 Merge: 83d436581f fbbc71ec34 Author: QMK Bot Date: Mon Jul 8 16:27:41 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 83d436581f239be50fa49167e38302c11b9ed7f2 Merge: 54f907bfe9 a0bb7ff992 Author: fauxpark Date: Mon Jul 8 16:08:57 2024 +1000 Merge remote-tracking branch 'upstream/master' into develop commit 54f907bfe91f9cf452f7cee18f2534187763c2bc Author: Y.KEISUKE Date: Mon Jul 8 07:45:35 2024 +0900 Fix for encoders and support ENCODER_MAP_ENABLE on Planck rev7 (#23967) Co-authored-by: Nick Brassel commit e643fa03ef9ee9c1589aa4c9622bd62e52fd2e91 Author: takashicompany Date: Sun Jul 7 08:56:57 2024 +0900 Fix dogtag/info.json (#23520) commit 1c02c3dfaddc3b781d49d4bd44303734c2ebf51a Author: Nick Brassel Date: Sat Jul 6 16:08:55 2024 +1000 [docs] Fixup home link. (#24068) commit e4dfbb075e13f79f6a18cfa9f210016fb66dffef Author: Ryan Date: Sat Jul 6 12:23:54 2024 +1000 `handwired/swiftrax/bumblebee`: fix layout name (#24064) commit 2477aa91617f51fc945b844c325455a2db90a55b Author: Ryan Date: Sat Jul 6 11:14:09 2024 +1000 [docs] Update RGBLight (Underglow) keycode names (#23999) commit 4ae0ca5a11c475ee49bbce13d29edbf9bd6fc636 Author: Nick Brassel Date: Sat Jul 6 09:57:54 2024 +1000 Tap dance introspection (#24049) commit b9e67347f1db160a5d1bd718ab0713a407014e43 Merge: c5e317aad9 be967d42d2 Author: QMK Bot Date: Fri Jul 5 22:43:39 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c5e317aad9ea183fac6e05bab517af7da1c9761d Merge: d0e89aecca af72a58c8f Author: QMK Bot Date: Fri Jul 5 22:26:17 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit d0e89aeccada3f0df906dd4ff8fa7708b0d8234e Author: Joel Challis Date: Fri Jul 5 12:02:39 2024 +0100 Align LUFA suspend logic (#24055) commit ecf5b26ff0a8c2c10c2f201fcf9d6bbff299b7a0 Merge: 4e8772b5cc 9fb51cfe2b Author: QMK Bot Date: Fri Jul 5 10:58:17 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4e8772b5cc2a044dbff153754fd5a352538a9d10 Merge: 5078ca651c 6d21898c14 Author: QMK Bot Date: Fri Jul 5 10:55:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5078ca651ce7ce82281f8c5461c5e22e351cb807 Merge: 10e2f1e29f 096dc672c1 Author: QMK Bot Date: Fri Jul 5 06:36:06 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 10e2f1e29fe6cef57967f3d2110cb04f7236830b Merge: 9dba1cadc9 8e64ff574a Author: QMK Bot Date: Fri Jul 5 06:35:47 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9dba1cadc9a3ecf9e74f0f832ae5f31c32f61a3b Merge: 443d111403 15af5d7d0d Author: QMK Bot Date: Fri Jul 5 05:25:47 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 443d111403e5f5442890a8914b2a2ce9ef5362ed Merge: 777db159ac 62c1787d72 Author: QMK Bot Date: Fri Jul 5 05:10:31 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 777db159aca83dfa62ce48aae577bfca0850b374 Merge: 3a711f4cfa 8fe667a1a4 Author: QMK Bot Date: Fri Jul 5 01:36:01 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3a711f4cfa71419a22a22139d68c647ffa3f1fe4 Author: Nick Brassel Date: Fri Jul 5 11:22:08 2024 +1000 Allow overriding `get_hardware_id()`. (#24051) commit cd22b8a9458fbe17b68bdd360822db696b559dfe Merge: 41878d276e 031ccd4887 Author: QMK Bot Date: Thu Jul 4 23:55:04 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 41878d276ed330d754ce8f14fb1354389d53eb1c Merge: 9536b86a09 43fc7b5a4f Author: QMK Bot Date: Thu Jul 4 23:44:53 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9536b86a0956f2b1061b14e86dcf80734712530a Merge: 9adac59c29 4ced8d9371 Author: QMK Bot Date: Thu Jul 4 19:50:25 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9adac59c29447a593b2399309aca69e8c7e2cad4 Merge: 32ec677d8d 1c6cdb8d74 Author: QMK Bot Date: Thu Jul 4 02:42:11 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 32ec677d8d479592baa4e0e8c37b6177874b881a Merge: 26c114a2b4 977918982d Author: QMK Bot Date: Thu Jul 4 02:39:15 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 26c114a2b47377db2ef337f3e22e3685e70852bd Author: Will Hedges <36576135+will-hedges@users.noreply.github.com> Date: Wed Jul 3 21:38:03 2024 -0500 [keyboard] added bear_face/v3 (#24032) * added keyboard.json, default, default_iso, and keymap READMEs commit 17c6744c82691878a1e9828dab635d2e6526cf51 Merge: bdca9318f9 c2f7974c8e Author: QMK Bot Date: Thu Jul 4 02:34:47 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit bdca9318f9f6a7b4ea697113a2e0b3117a67e093 Author: Drashna Jaelre Date: Wed Jul 3 19:13:00 2024 -0700 Change suspend condition check order on ChibiOS (#24020) commit e07f752a5704640052963ff7777bd3b87a429f6f Author: DavidSannier Date: Thu Jul 4 01:15:44 2024 +0200 [build_test] set CONSOLE_ENABLE=yes if DEBUG > 0 (#23097) commit eed2a74be9dfe08f0a16a558efc80fa54908c21d Merge: ce9edc94e5 bc8ac86422 Author: QMK Bot Date: Wed Jul 3 12:01:26 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit ce9edc94e5bc9996fa779b483bd3968f14e18576 Merge: a400c332d2 33adb8cba0 Author: QMK Bot Date: Wed Jul 3 10:32:19 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a400c332d21b09aa181bb69b9bb4a2bba3b8b75d Merge: f8596b40a4 e754c9f2b4 Author: QMK Bot Date: Wed Jul 3 08:46:37 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit f8596b40a4bb15a1881138baa8b8787277e2e622 Author: Ryan Date: Wed Jul 3 18:35:54 2024 +1000 Normalise mouse keycodes (#23975) commit bc0c69570b8a8b1d9a754a280053e49a825b24d7 Author: Ryan Date: Wed Jul 3 17:18:27 2024 +1000 Rename encoder pins defines (#24003) commit 8471dcc5633a8654327acd30c359d054243541f6 Merge: 7bc3eef8cc 869b7d9ae6 Author: QMK Bot Date: Tue Jul 2 21:35:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7bc3eef8cc262e12b0f823ba4c92cf97ca3dc1fa Author: Nick Brassel Date: Tue Jul 2 10:16:41 2024 +1000 SPI flash API cleanup, add async erase capability. (#23894) commit 641a1ce568c896a3beea80649f33a71dfeaf44af Merge: e8e5d11ed8 3ffe8d917a Author: QMK Bot Date: Sun Jun 30 02:40:18 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit e8e5d11ed8532313c0f2396b63a6fb132f58145b Merge: 0947299864 12379dc1eb Author: QMK Bot Date: Sun Jun 30 01:58:04 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0947299864c81a93ee5a6f13bab8d71b72299191 Author: Joel Challis Date: Sat Jun 29 14:25:24 2024 +0100 Remove custom keycodes from nullbitsco/snap (#24017) commit bd5da148ecc9bbb478a39b7e72ce833188313d6f Merge: 3e4159bc55 d6bfbdb6b1 Author: QMK Bot Date: Sat Jun 29 10:57:00 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3e4159bc5545f11f79b015ddbac5ee0a55b47f48 Merge: 38f72c5d2b cc0b2f9814 Author: QMK Bot Date: Sat Jun 29 09:27:40 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 38f72c5d2bbae3be5a1d39284c1579616b097b75 Author: Joel Challis Date: Sat Jun 29 10:17:47 2024 +0100 Relocate xelus/pachi/rgb/rev2 VIA logic (#24016) commit 07253bfe4aa2e7a59c6dd88a0d0db951ac0c7add Author: Joel Challis Date: Sat Jun 29 09:33:20 2024 +0100 Relocate work_louder VIA logic (#24011) commit 62f81cfcc33ab528ea3558bbd74179fd17fcb068 Merge: b94f70d642 2bde8ce206 Author: QMK Bot Date: Sat Jun 29 06:55:21 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit b94f70d642537d4e56bb660e66f3b1ce33d68226 Merge: af8fe44e0f 086e8e938e Author: QMK Bot Date: Sat Jun 29 06:00:35 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit af8fe44e0fc3dc461a9fdf85c601c012b5a517eb Author: Ryan Date: Sat Jun 29 14:50:08 2024 +1000 `atreus`: misc cleanups (#24010) commit 7bc53b8baad73c05d9587eefd3a215c06d4de9a5 Author: Joel Challis Date: Sat Jun 29 04:20:08 2024 +0100 Relocate m256ws VIA logic (#24009) commit 9ca1f35333e3fef675096c3ba6d149f9164af2e0 Author: Joel Challis Date: Sat Jun 29 04:16:52 2024 +0100 Relocate winry315 VIA logic (#24008) commit 2998d20a009b57ff242e1e7d77571be82c7bc3f6 Merge: be7728ae58 cd374b1500 Author: QMK Bot Date: Sat Jun 29 03:08:12 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit be7728ae581aa59c6a8ba5ef370601edfd9f799a Author: Joel Challis Date: Sat Jun 29 03:36:28 2024 +0100 Relocate m256wh VIA logic (#24006) commit ffd9062190e549f349f08993cb7249779cd0e744 Merge: a7aa58cc81 9d02ac37f7 Author: QMK Bot Date: Thu Jun 27 17:39:02 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a7aa58cc8130b9c59bc39f41e33d9387a46b1e8c Author: Dasky <32983009+daskygit@users.noreply.github.com> Date: Thu Jun 27 05:10:13 2024 +0100 Change ADNS9800 and PMW33XX SROM uploads to opt in. (#24001) Make SROM upload optional commit 276ecd4693e630b876558f96106f019d83502604 Merge: 5e3b558d5a 603586800c Author: QMK Bot Date: Thu Jun 27 03:56:17 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 5e3b558d5a99ef581019f514fc4eb9c618272d4b Merge: 7c6dbe5e7c 5f794217b4 Author: QMK Bot Date: Wed Jun 26 04:36:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7c6dbe5e7c03de77ecff35fd3189f016578b4483 Merge: 8bccabca25 b71b81d539 Author: QMK Bot Date: Wed Jun 26 04:29:16 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8bccabca25a87aa24a7e55cecf4922e8596867f5 Merge: 2f18d4f449 17ae6f9b53 Author: QMK Bot Date: Wed Jun 26 03:48:06 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 2f18d4f44962e540d8e21d22d2cbf1868762a1c1 Merge: 94586f821c cebe521b11 Author: QMK Bot Date: Wed Jun 26 01:34:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 94586f821c179135b3975f5e23efbf33b4f5597a Merge: a2176f6a03 0b572a1be6 Author: QMK Bot Date: Tue Jun 25 06:39:26 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a2176f6a039b5f92ba4cb473f7a2de560b57dd86 Author: Joel Challis Date: Tue Jun 25 03:25:05 2024 +0100 Migrate `led_update_kb` implementations to DD (#23985) commit 751482580ed992acdbafc262c281e5d179cebe69 Merge: c973ee1445 378dbd32bd Author: QMK Bot Date: Mon Jun 24 08:20:17 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c973ee1445c5121fcf2dfdbf7ffcd1a6b7a8ed9c Merge: d4e98e9fda 03e688e91f Author: QMK Bot Date: Mon Jun 24 02:30:03 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit d4e98e9fda8ed2547f0742a8242ac8724a6dcbee Merge: f0471dd5b4 d5e0562a70 Author: QMK Bot Date: Sun Jun 23 18:33:57 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit f0471dd5b4e737726540d5e86f2666726808a1ba Author: Joel Challis Date: Sun Jun 23 09:02:13 2024 +0100 Remove skipped schema files (#23987) commit e96d6d9bd43a83c5d9ada75014bc9ef90abc8f40 Author: Ryan Date: Sun Jun 23 13:08:57 2024 +1000 Migrate RGB Matrix layout for two boards (#23963) commit b4047be3eb5ff09b7d29182aa6b37ea9b76befae Merge: 7824e7ed9b 191c8cca33 Author: QMK Bot Date: Sun Jun 23 02:58:22 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 7824e7ed9ba3e79103625b6f038033eb3f5c5320 Author: Joel Challis Date: Sat Jun 22 12:14:17 2024 +0100 Migrate `led_update_kb` implementations to DD (#23983) commit 17498fa48a8c5c0ac439e59d0db12a41954d4fb0 Author: Joel Challis Date: Sat Jun 22 12:14:07 2024 +0100 Migrate `led_update_kb` implementations to DD (#23981) commit cb39df273de782be1145dc5184bfd47d823531d5 Author: Joel Challis Date: Sat Jun 22 09:10:58 2024 +0100 Remove deprecated `led_set_user` (#23979) commit 99aa4f5191ae0e120503385869b3b24baeaf223a Author: Joel Challis Date: Sat Jun 22 09:10:12 2024 +0100 Migrate `led_update_kb` implementations to DD (#23980) commit 35f0a1767981f0b490858c68cb5b23ee92327a25 Merge: b180a0d415 7aa2ce2b38 Author: QMK Bot Date: Sat Jun 22 04:45:34 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit b180a0d415ff854508f8399ff50a6825f10e083a Merge: cc6bcf9bac 6f03d20a92 Author: QMK Bot Date: Sat Jun 22 03:28:27 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit cc6bcf9bacb238636ba469c982e3c298f9265c33 Merge: 05573be7b5 e5c80fc6b3 Author: QMK Bot Date: Sat Jun 22 03:27:46 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 05573be7b5bf73a36bbf293daf9a77c9bb3af390 Merge: 751a6b5bc4 aa11ef5bcf Author: QMK Bot Date: Sat Jun 22 00:54:29 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 751a6b5bc4404e8398b360a925cb95e17be848d8 Author: Amir Date: Fri Jun 21 02:42:16 2024 +0330 add farsi keymap extras (#23650) commit 27455bba6c572723b97416ee4d8065ee9ff76cb2 Merge: 92881d38ef a6ef34cd16 Author: QMK Bot Date: Thu Jun 20 08:10:13 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 92881d38ef30d5fb9f83428feb92117c3e24cc9b Merge: 0a5b892820 4fdde75333 Author: QMK Bot Date: Thu Jun 20 01:59:59 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0a5b8928202078a7a64b7fadf11b0fc25a26b4a6 Author: Ryan Date: Thu Jun 20 04:43:23 2024 +1000 [CLI] Force `dump_lines()` to always use Unix line endings (#23954) commit 53a0cdc4467fb688faa2708fe75daa26686e918d Author: Joel Challis Date: Tue Jun 18 03:44:22 2024 +0100 Implement data driven joysticks (#22947) commit 938badc3b0a8b71647e2463241f2e3fe8578f32a Author: Joel Challis Date: Mon Jun 17 21:51:53 2024 +0100 Generate keymap dd keycodes to header (#20273) commit 59a309813927f77b470f3818fa1041c5efea581a Merge: 590281f4f2 dafc46f1d1 Author: QMK Bot Date: Mon Jun 17 19:33:26 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 590281f4f2dbe7e91999921ba636f428d24f160b Merge: 51acd35e6f baa564bddf Author: QMK Bot Date: Mon Jun 17 19:24:14 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 51acd35e6f2196ca1d9a1328be92355b128d8239 Author: Joel Challis Date: Mon Jun 17 19:22:47 2024 +0100 Implement data driven serial driver (#23923) commit 9f449246bbccb0ffbed723616e95f0421e572781 Merge: 63848603be 3f44231d2d Author: QMK Bot Date: Mon Jun 17 10:12:58 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 63848603be0c65771b0d9f99166fafeffc7e5bab Merge: 0966901f95 4864d5afca Author: QMK Bot Date: Mon Jun 17 04:48:03 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0966901f95dc662165c3ad3ebe4d47ff854f1b03 Merge: fca1417f6b 089a819179 Author: QMK Bot Date: Sun Jun 16 20:58:08 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit fca1417f6b277372105dd61484f0356f0e3e5ef2 Merge: 1317a0732b 751fbd75d3 Author: QMK Bot Date: Sun Jun 16 18:16:33 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1317a0732b38f1f12e42976c6bf33e976a2104e5 Merge: 3ddd20cf51 3c868b9316 Author: QMK Bot Date: Sun Jun 16 12:53:18 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 3ddd20cf51a054dc6c5ee6179f6ebec7efad7628 Merge: c43667fa74 7ac1a34a34 Author: QMK Bot Date: Sun Jun 16 09:53:32 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c43667fa74824b1d1d5c32777cae1d8dde7bd88d Merge: faa84a7c90 ad82c4703a Author: QMK Bot Date: Sun Jun 16 04:46:54 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit faa84a7c9016a76eb7d594b5ce33a62fe2b1f81e Merge: e31418ee11 0262161914 Author: QMK Bot Date: Sat Jun 15 09:38:16 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit e31418ee119a63dbc930e4148dca92a8e9260b07 Merge: 0c8a968e3d d4654ab893 Author: QMK Bot Date: Fri Jun 14 21:58:43 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0c8a968e3da0a6bf060159a96dd93d19b93ba7f1 Merge: a2f2de7d2c aec7569a04 Author: QMK Bot Date: Fri Jun 14 20:26:31 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a2f2de7d2caea606c23852552333bf6ca01ba388 Merge: 4f8aab748b 4e8b740dd7 Author: QMK Bot Date: Fri Jun 14 07:34:37 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4f8aab748b9acbc2c2502a14022e40eec91655d9 Merge: e1839238a4 c92becc57e Author: QMK Bot Date: Fri Jun 14 04:10:54 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit e1839238a448d71add109e80624e1df0dac618b2 Merge: a98aa70f80 cd565a95a0 Author: QMK Bot Date: Thu Jun 13 23:24:28 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a98aa70f80e9534d55fa2457e33764655af2e9b5 Merge: 248a09d545 caf13bb9db Author: QMK Bot Date: Thu Jun 13 22:36:55 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 248a09d545d474bc3ffe4ccd1806cf70fdc25ea1 Merge: 55538b2e1e 4a4eda4c3c Author: QMK Bot Date: Thu Jun 13 13:01:12 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 55538b2e1e743ec1a209e61880d52bb5d2156669 Author: Ryan Date: Thu Jun 13 22:19:45 2024 +1000 APA102: API rework (#23355) commit c4a74be7f02ec64033638e93a49924df20fb2e57 Author: Ryan Date: Thu Jun 13 21:59:46 2024 +1000 Add process_keycode handlers for new RGB Matrix and Underglow keycodes (#23896) commit dafbb92f4ea851a498bec2edd35cede469ee9504 Merge: 8fe777adff 942c2a8d5a Author: QMK Bot Date: Thu Jun 13 03:31:33 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 8fe777adff25417d2e99fbf524b5b07471fb861e Merge: 49317f058a be9dfe65dd Author: QMK Bot Date: Thu Jun 13 02:56:17 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 49317f058aa98a4f520deffa3fede29d6eaba65a Merge: b3d3a7c46f fa40356250 Author: QMK Bot Date: Thu Jun 13 02:02:13 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit b3d3a7c46f198486c058affe908f482c9cf7e196 Merge: 9fbf4579a4 7247039742 Author: QMK Bot Date: Thu Jun 13 01:56:23 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 9fbf4579a475ba6fc50a6c4c4e0ccb87603d6ab4 Merge: 52b4058ca4 e69d30a9e9 Author: QMK Bot Date: Wed Jun 12 23:48:54 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 52b4058ca4dfc8778438960b90abe933942c43c3 Merge: c785584fa5 bdd10ef8e7 Author: QMK Bot Date: Wed Jun 12 07:44:58 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c785584fa54f742ef57494383a4de01bf2509adc Merge: b826877c40 031ca3b40b Author: QMK Bot Date: Wed Jun 12 07:12:20 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit b826877c40b64be023fda2879a268d5fa6aa610e Author: Joel Challis Date: Wed Jun 12 04:00:23 2024 +0100 Decouple VIA from STM32 L0/L1 EEPROM implementation (#23901) commit e239d0383a123e67464030bc9ebdce1a1d856824 Merge: 354a2e40cf 8041a88f5d Author: QMK Bot Date: Wed Jun 12 00:50:57 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 354a2e40cf8348d043d39b34ca63223f6b5b689c Author: Ryan Date: Tue Jun 11 13:25:51 2024 +1000 splitkb/kyria: remove `CONVERT_TO` at keyboard level (#23857) commit e381f91c6e69d2e73a978e4ce8a838db3bc40e23 Merge: d4f8b478aa 8b5cdfabf5 Author: QMK Bot Date: Mon Jun 10 00:24:00 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit d4f8b478aaf18cd2f81ae1b3c9d2dd910a0b2dfa Merge: c6ecb9ce41 df4538d894 Author: QMK Bot Date: Sun Jun 9 20:15:38 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c6ecb9ce41231b1870fa96d9ef06eefb958f53fa Merge: 186dab5619 e484a3a179 Author: QMK Bot Date: Sun Jun 9 19:48:19 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 186dab5619334803fae9b894c1639ee6b188cdb3 Merge: 4926f0de8b 9dc183afe4 Author: QMK Bot Date: Sun Jun 9 17:58:16 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4926f0de8b9b05a2c3435a12b9b70f97e606b57c Author: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Date: Mon Jun 10 01:57:08 2024 +0800 [Keyboard] Fixup mt/mt84 (#23883) commit 333f8bf0d7a4f3efd56a60a5328d15b1e0be4942 Author: Drashna Jaelre Date: Sat Jun 8 18:08:53 2024 -0700 Add STM32F405RG ld script for tinyuf2 (#23885) commit 3de5e44f52650985ce6f1bf1e01eddda62d8111a Merge: d12f090d1e e7a08ef1a9 Author: QMK Bot Date: Fri Jun 7 13:26:23 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit d12f090d1e1e5b3c61f0a7861222526281c4c4e7 Merge: c561750f73 950d765370 Author: QMK Bot Date: Fri Jun 7 01:17:50 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c561750f739f1f25895ebfa36c94bd300da5fe0f Merge: 0d360b64fa 260e9a546e Author: QMK Bot Date: Thu Jun 6 02:10:14 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 0d360b64fa81a00758771a9bc52a74382d078102 Merge: a82b0628b3 a4da5f219f Author: QMK Bot Date: Wed Jun 5 02:21:27 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a82b0628b399c35bcdf70f14cabfa0bb27f86af8 Author: Fernando Birra Date: Tue Jun 4 23:41:26 2024 +0100 GC9xxx LCD family drivers (GC9107 and GC9A01) (#23091) Co-authored-by: Nick Brassel Co-authored-by: jack <0x6A73@pm.me> Co-authored-by: Joel Challis Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com> Co-authored-by: rookiebwoy <81021475+rookiebwoy@users.noreply.github.com> Fixup boardsource/equals (#23106) Fix make clean test:os_detection (#23112) Fix make clean test:os_detection (#23112)" Fixup boardsource/equals (#23106)" commit 75d11e04215edc43eeef71756a23d7f46e66c459 Author: dexter93 Date: Tue Jun 4 13:16:45 2024 +0300 [wear_leveling] efl updates (#22489) Co-authored-by: Nick Brassel commit 1a343cfaf45b690fe1b9c0815ce1ddc0e50353c8 Merge: c1c7c4f6e0 6d365dd8f1 Author: QMK Bot Date: Tue Jun 4 02:24:35 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c1c7c4f6e0d116e548fc0265a79dc1934c7050d0 Merge: 1c536513b3 8253697a63 Author: QMK Bot Date: Mon Jun 3 12:36:18 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 1c536513b33d757d8587f1d3c13ebeb365460b9a Merge: a1b2e0261d 282253a7e0 Author: QMK Bot Date: Sun Jun 2 22:55:36 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit a1b2e0261dfee05d086975122a31679845a37321 Merge: c67789b717 41dbb4c86c Author: QMK Bot Date: Sun Jun 2 03:19:50 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c67789b717d72328ca275bfc4f5a3032d06bab98 Merge: 6c87500231 78a0adfbb4 Author: QMK Bot Date: Sun Jun 2 02:42:52 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6c8750023125cbecb267d6608ff8684fecb33353 Merge: 93f566280e fa6d23235b Author: QMK Bot Date: Sat Jun 1 00:38:08 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 93f566280ec483b0d3ac022870c8f73c9ea6cf44 Merge: c60554e090 119e54e9e3 Author: QMK Bot Date: Fri May 31 00:35:30 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit c60554e0903b77b30eb2c85a463b7817460e6e14 Merge: 64098fafa6 32af90ae84 Author: QMK Bot Date: Thu May 30 09:27:11 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 64098fafa60945875c08f8da96eeff0238f0d6f8 Merge: 6ca94ae158 8a394503c7 Author: QMK Bot Date: Thu May 30 09:10:50 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 6ca94ae1587d4dcbecb47c8ea93f134c0628eef9 Merge: 47356b2201 b39285807e Author: QMK Bot Date: Thu May 30 09:00:58 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 47356b220101b4f5b8ca71b2e1aa4f04256dd60f Merge: b36c7b99ae 6ef9717288 Author: QMK Bot Date: Thu May 30 02:01:09 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit b36c7b99ae57e8d848373f44755510308c4eefa3 Merge: 4d32073681 395766657f Author: QMK Bot Date: Thu May 30 00:44:13 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 4d320736815152abc9b9bd0318edd02d2a045b74 Author: burkfers Date: Wed May 29 06:53:48 2024 +0200 BastardKB: remove legacy board `tbk` (#23818) remove legacy board `tbk` commit 9be50fdce5cc6da202969c11190d67cd3dfdbbad Merge: 267dffda15 2f9f000d0c Author: QMK Bot Date: Wed May 29 01:55:15 2024 +0000 Merge remote-tracking branch 'origin/master' into develop commit 267dffda154d119ed5f155665e90fc5e03d138a5 Author: Purdea Andrei Date: Tue May 28 14:49:55 2024 +0300 EEPROM: Don't erase if we don't have to. Adding eeprom_driver_format abstraction. (#18332) commit 6921c8a7ddbf5596d629f6272b4043bb3cbcf661 Author: Nick Brassel Date: Tue May 28 14:41:15 2024 +1000 Branch point for 2024q3 Breaking Change. --- .editorconfig | 3 +- .github/workflows/docs.yml | 4 + builddefs/docsgen/yarn.lock | 196 ++-- docs/reference_info_json.md | 467 ++++---- drivers/lcd/st7565.c | 2 + keyboards/a_jazz/akc084/keyboard.json | 34 + .../arrayperipherals/vector/keyboard.json | 40 + .../vector/keymaps/default/keymap.c | 36 + .../vector/keymaps/default/rules.mk | 1 + keyboards/arrayperipherals/vector/readme.md | 26 + keyboards/atset/at2/keyboard.json | 32 + keyboards/atset/at2/keymaps/default/keymap.c | 10 + keyboards/atset/at2/readme.md | 24 + keyboards/deemen17/de80/config.h | 20 + keyboards/deemen17/de80/halconf.h | 29 + keyboards/deemen17/de80/keyboard.json | 893 +++++++++++++++ .../deemen17/de80/keymaps/default/keymap.c | 45 + .../deemen17/de80/keymaps/default/rules.mk | 1 + keyboards/deemen17/de80/mcuconf.h | 23 + keyboards/deemen17/de80/readme.md | 27 + keyboards/doio/kb09/keyboard.json | 123 ++ keyboards/doio/kb09/keymaps/default/keymap.c | 58 + keyboards/doio/kb09/readme.md | 26 + .../scottokeebs/scotto37/keyboard.json | 69 ++ .../scotto37/keymaps/default/config.h | 22 + .../scotto37/keymaps/default/keymap.c | 45 + .../handwired/scottokeebs/scotto37/readme.md | 29 + keyboards/hineybush/h660s/config.h | 4 + keyboards/hineybush/h75_singa/config.h | 11 + keyboards/hineybush/h87a/config.h | 4 + keyboards/hotdox76v2/hotdox76v2.c | 22 +- keyboards/hotdox76v2/oled_font_lib/ext_font.h | 214 ++-- keyboards/ibm/model_m/modelh/keyboard.json | 89 +- .../keymaps/wheelwriter_1x_iso/keymap.c | 33 + keyboards/ibm/model_m/modelh/readme.md | 4 + keyboards/janus/config.h | 4 +- keyboards/janus/readme.md | 2 + keyboards/jaykeeb/jk60rgb/jk60rgb.c | 29 + keyboards/jaykeeb/jk60rgb/keyboard.json | 238 ++++ .../jaykeeb/jk60rgb/keymaps/default/keymap.c | 22 + keyboards/jaykeeb/jk60rgb/readme.md | 27 + keyboards/lily58/keymaps/default/keymap.c | 2 +- .../mykeyclub/jris65/hotswap/keyboard.json | 389 +++++++ .../jris65/keymaps/default/keymap.json | 21 + keyboards/mykeyclub/jris65/readme.md | 35 + keyboards/mykeyclub/readme.md | 5 + keyboards/nix_studio/oxalys80/config.h | 10 + .../nopunin10did/jabberwocky/v2/keyboard.json | 4 +- .../nk_classic_tkl/keymaps/default/keymap.c | 4 + .../novelkeys/nk_classic_tkl_iso/config.h | 25 + .../novelkeys/nk_classic_tkl_iso/halconf.h | 28 + .../nk_classic_tkl_iso/keyboard.json | 270 +++++ .../keymaps/default/keymap.c | 73 ++ .../novelkeys/nk_classic_tkl_iso/mcuconf.h | 22 + .../novelkeys/nk_classic_tkl_iso/readme.md | 32 + .../novelkeys/nk_classic_tkl_iso/rules.mk | 2 + keyboards/noxary/valhalla_v2/valhalla_v2.c | 25 + keyboards/piantoruv44/config.h | 12 + keyboards/piantoruv44/keyboard.json | 98 ++ .../piantoruv44/keymaps/default/keymap.c | 30 + keyboards/piantoruv44/readme.md | 27 + keyboards/scottokeebs/scotto69/keyboard.json | 107 ++ .../scotto69/keymaps/default/keymap.c | 58 + .../scotto69/keymaps/default/rules.mk | 1 + keyboards/scottokeebs/scotto69/readme.md | 29 + .../studiokestra/fairholme/keyboard.json | 1002 +++++++++++++++++ .../fairholme/keymaps/60_ansi/keymap.c | 34 + .../keymaps/60_ansi_split_bs_rshift/keymap.c | 34 + .../fairholme/keymaps/60_iso/keymap.c | 34 + .../fairholme/keymaps/default/keymap.c | 34 + keyboards/studiokestra/fairholme/readme.md | 27 + keyboards/thumbsup/keymaps/default/keymap.c | 171 +++ .../thumbsup/rev9_promicro_4x12/config.h | 28 + .../thumbsup/rev9_promicro_4x12/keyboard.json | 77 ++ .../thumbsup/rev9_promicro_4x12/readme.md | 27 + .../thumbsup/rev9_promicro_4x12/rules.mk | 1 + keyboards/zsa/moonlander/moonlander.c | 9 +- layouts/default/readme.md | 15 - quantum/keymap_introspection.c | 12 + tmk_core/protocol/usb_descriptor.c | 2 +- tmk_core/protocol/vusb/vusb.c | 2 +- util/install/fedora.sh | 1 + 82 files changed, 5337 insertions(+), 470 deletions(-) create mode 100644 keyboards/arrayperipherals/vector/keyboard.json create mode 100644 keyboards/arrayperipherals/vector/keymaps/default/keymap.c create mode 100644 keyboards/arrayperipherals/vector/keymaps/default/rules.mk create mode 100644 keyboards/arrayperipherals/vector/readme.md create mode 100644 keyboards/atset/at2/keyboard.json create mode 100644 keyboards/atset/at2/keymaps/default/keymap.c create mode 100644 keyboards/atset/at2/readme.md create mode 100644 keyboards/deemen17/de80/config.h create mode 100644 keyboards/deemen17/de80/halconf.h create mode 100644 keyboards/deemen17/de80/keyboard.json create mode 100644 keyboards/deemen17/de80/keymaps/default/keymap.c create mode 100644 keyboards/deemen17/de80/keymaps/default/rules.mk create mode 100644 keyboards/deemen17/de80/mcuconf.h create mode 100644 keyboards/deemen17/de80/readme.md create mode 100644 keyboards/doio/kb09/keyboard.json create mode 100644 keyboards/doio/kb09/keymaps/default/keymap.c create mode 100644 keyboards/doio/kb09/readme.md create mode 100644 keyboards/handwired/scottokeebs/scotto37/keyboard.json create mode 100644 keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scotto37/readme.md create mode 100644 keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c create mode 100644 keyboards/jaykeeb/jk60rgb/jk60rgb.c create mode 100644 keyboards/jaykeeb/jk60rgb/keyboard.json create mode 100644 keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c create mode 100644 keyboards/jaykeeb/jk60rgb/readme.md create mode 100644 keyboards/mykeyclub/jris65/hotswap/keyboard.json create mode 100644 keyboards/mykeyclub/jris65/keymaps/default/keymap.json create mode 100644 keyboards/mykeyclub/jris65/readme.md create mode 100644 keyboards/mykeyclub/readme.md create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/config.h create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/halconf.h create mode 100755 keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/readme.md create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/rules.mk create mode 100644 keyboards/noxary/valhalla_v2/valhalla_v2.c create mode 100644 keyboards/piantoruv44/config.h create mode 100644 keyboards/piantoruv44/keyboard.json create mode 100644 keyboards/piantoruv44/keymaps/default/keymap.c create mode 100644 keyboards/piantoruv44/readme.md create mode 100644 keyboards/scottokeebs/scotto69/keyboard.json create mode 100644 keyboards/scottokeebs/scotto69/keymaps/default/keymap.c create mode 100644 keyboards/scottokeebs/scotto69/keymaps/default/rules.mk create mode 100644 keyboards/scottokeebs/scotto69/readme.md create mode 100644 keyboards/studiokestra/fairholme/keyboard.json create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/default/keymap.c create mode 100644 keyboards/studiokestra/fairholme/readme.md create mode 100644 keyboards/thumbsup/keymaps/default/keymap.c create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/config.h create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/keyboard.json create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/readme.md create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/rules.mk diff --git a/.editorconfig b/.editorconfig index 3a537d01b284..692a84da6109 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,7 +11,8 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[{*.yaml,*.yml}] # To match GitHub Actions formatting + # To match GitHub Actions formatting +[*.{yaml,yml}] indent_size = 2 [*.md] diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 338b983d78ea..46ee6fdcaab0 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,11 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} +<<<<<<< HEAD uses: JamesIves/github-pages-deploy-action@v4.6.4 +======= + uses: JamesIves/github-pages-deploy-action@v4.6.8 +>>>>>>> upstream/master with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index 740bd85bb56e..3b5f68035f7b 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -298,85 +298,85 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@rollup/rollup-android-arm-eabi@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062" - integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== - -"@rollup/rollup-android-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638" - integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== - -"@rollup/rollup-darwin-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz#b2fcee8d4806a0b1b9185ac038cc428ddedce9f4" - integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== - -"@rollup/rollup-darwin-x64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932" - integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb" - integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== - -"@rollup/rollup-linux-arm-musleabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375" - integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== - -"@rollup/rollup-linux-arm64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df" - integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== - -"@rollup/rollup-linux-arm64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970" - integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== - -"@rollup/rollup-linux-powerpc64le-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94" - integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== - -"@rollup/rollup-linux-riscv64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139" - integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== - -"@rollup/rollup-linux-s390x-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec" - integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== - -"@rollup/rollup-linux-x64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7" - integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== - -"@rollup/rollup-linux-x64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06" - integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== - -"@rollup/rollup-win32-arm64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35" - integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== - -"@rollup/rollup-win32-ia32-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789" - integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== - -"@rollup/rollup-win32-x64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f" - integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== +"@rollup/rollup-android-arm-eabi@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5" + integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w== + +"@rollup/rollup-android-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb" + integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA== + +"@rollup/rollup-darwin-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b" + integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q== + +"@rollup/rollup-darwin-x64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791" + integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw== + +"@rollup/rollup-linux-arm-gnueabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232" + integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ== + +"@rollup/rollup-linux-arm-musleabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa" + integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg== + +"@rollup/rollup-linux-arm64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15" + integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw== + +"@rollup/rollup-linux-arm64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820" + integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e" + integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg== + +"@rollup/rollup-linux-riscv64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128" + integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA== + +"@rollup/rollup-linux-s390x-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc" + integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q== + +"@rollup/rollup-linux-x64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0" + integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg== + +"@rollup/rollup-linux-x64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f" + integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g== + +"@rollup/rollup-win32-arm64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0" + integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw== + +"@rollup/rollup-win32-ia32-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422" + integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g== + +"@rollup/rollup-win32-x64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202" + integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q== "@shikijs/core@1.3.0", "@shikijs/core@^1.3.0": version "1.3.0" @@ -697,28 +697,28 @@ rfdc@^1.3.1: integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rollup@^4.13.0: - version "4.16.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.16.4.tgz#fe328eb41293f20c9593a095ec23bdc4b5d93317" - integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== + version "4.22.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f" + integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.16.4" - "@rollup/rollup-android-arm64" "4.16.4" - "@rollup/rollup-darwin-arm64" "4.16.4" - "@rollup/rollup-darwin-x64" "4.16.4" - "@rollup/rollup-linux-arm-gnueabihf" "4.16.4" - "@rollup/rollup-linux-arm-musleabihf" "4.16.4" - "@rollup/rollup-linux-arm64-gnu" "4.16.4" - "@rollup/rollup-linux-arm64-musl" "4.16.4" - "@rollup/rollup-linux-powerpc64le-gnu" "4.16.4" - "@rollup/rollup-linux-riscv64-gnu" "4.16.4" - "@rollup/rollup-linux-s390x-gnu" "4.16.4" - "@rollup/rollup-linux-x64-gnu" "4.16.4" - "@rollup/rollup-linux-x64-musl" "4.16.4" - "@rollup/rollup-win32-arm64-msvc" "4.16.4" - "@rollup/rollup-win32-ia32-msvc" "4.16.4" - "@rollup/rollup-win32-x64-msvc" "4.16.4" + "@rollup/rollup-android-arm-eabi" "4.22.4" + "@rollup/rollup-android-arm64" "4.22.4" + "@rollup/rollup-darwin-arm64" "4.22.4" + "@rollup/rollup-darwin-x64" "4.22.4" + "@rollup/rollup-linux-arm-gnueabihf" "4.22.4" + "@rollup/rollup-linux-arm-musleabihf" "4.22.4" + "@rollup/rollup-linux-arm64-gnu" "4.22.4" + "@rollup/rollup-linux-arm64-musl" "4.22.4" + "@rollup/rollup-linux-powerpc64le-gnu" "4.22.4" + "@rollup/rollup-linux-riscv64-gnu" "4.22.4" + "@rollup/rollup-linux-s390x-gnu" "4.22.4" + "@rollup/rollup-linux-x64-gnu" "4.22.4" + "@rollup/rollup-linux-x64-musl" "4.22.4" + "@rollup/rollup-win32-arm64-msvc" "4.22.4" + "@rollup/rollup-win32-ia32-msvc" "4.22.4" + "@rollup/rollup-win32-x64-msvc" "4.22.4" fsevents "~2.3.2" shiki@1.3.0, shiki@^1.3.0: diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index e658b48b715f..4733f8e435d5 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -6,51 +6,51 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/String Required * A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). * Example: `"Clueboard 66%"` -* `maintainer` (Required) +* `maintainer` String Required * GitHub username of the maintainer, or `qmk` for community maintained boards. * Example: `"skullydazed"` -* `manufacturer` (Required) +* `manufacturer` String Required * A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). * Example: `"Clueboard"` -* `url` (Required) +* `url` String Required * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. * Example: `"https://clueboard.co"` -* `bootloader_instructions` +* `bootloader_instructions` String * Instructions for putting the keyboard into a mode that allows for firmware flashing. * Example: `"Press the button marked RESET on the back of the PCB"` -* `tags` +* `tags` Array: String * A list of tags describing the keyboard. * Example: `["ortho", "split", "rgb"]` ## Hardware Configuration {#hardware-configuration} -* `board` +* `board` String * Override the default ChibiOS board name (ARM-based keyboards only). * Example: `"BLACKPILL_STM32_F411"` -* `bootloader` +* `bootloader` String * The bootloader in use on the keyboard. Required if `development_board` is not specified. -* `development_board` +* `development_board` String * The microcontroller development board, if applicable. * Example: `"promicro"` -* `pin_compatible` +* `pin_compatible` String * The form factor of the development board, if applicable. Must be one of `elite_c`, `promicro`. -* `processor` +* `processor` String * The microcontroller in use on the keyboard. Required if `development_board` is not specified. ## Firmware Configuration {#firmware-configuration} * `build` - * `debounce_type` + * `debounce_type`String * The debounce algorithm to use. Must be one of `asym_eager_defer_pk`, `custom`, `sym_defer_g`, `sym_defer_pk`, `sym_defer_pr`, `sym_eager_pk`, `sym_eager_pr`. - * `firmware_format` + * `firmware_format`String * The format of the final output binary. Must be one of `bin`, `hex`, `uf2`. - * `lto` + * `lto`Boolean * Enable Link-Time Optimization. * Default: `false` -* `features` +* `features`Object: Boolean * A dictionary of features to enable or disable. * Example: ```json @@ -61,36 +61,36 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Boolean * Enable locking switch support. * Default: `false` - * `resync` + * `resync` Boolean * Keep switch state consistent with keyboard LED state. * Default: `false` - * `tap_capslock_delay` + * `tap_capslock_delay` Number * The delay between keydown and keyup for Caps Lock tap events in milliseconds. * Default: `80` (80 ms) - * `tap_keycode_delay` + * `tap_keycode_delay` Number * The delay between keydown and keyup for tap events in milliseconds. * Default: `0` (no delay) * `tapping` - * `hold_on_other_key_press` + * `hold_on_other_key_press` Boolean * Default: `false` - * `hold_on_other_key_press_per_key` + * `hold_on_other_key_press_per_key` Boolean * Default: `false` - * `permissive_hold` + * `permissive_hold` Boolean * Default: `false` - * `permissive_hold_per_key` + * `permissive_hold_per_key` Boolean * Default: `false` - * `retro` + * `retro` Boolean * Default: `false` - * `retro_per_key` + * `retro_per_key` Boolean * Default: `false` - * `term` + * `term` Number * Default: `200` (200 ms) - * `term_per_key` + * `term_per_key` Boolean * Default: `false` - * `toggle` + * `toggle` Number * Default: `5` ## APA102 {#apa102} @@ -98,11 +98,11 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Pin Required * The GPIO pin connected to `CI` on the first LED in the chain. - * `data_pin` (Required) + * `data_pin` Pin Required * The GPIO pin connected to `DI` on the first LED in the chain. - * `default_brightness` + * `default_brightness` Number * The initial global brightness level (independent of the RGB data), from 0 to 31. * Default: `31` @@ -112,26 +112,26 @@ Configures the [Audio](features/audio) feature. * `audio` * `default` - * `on` + * `on` Boolean * The default audio enabled state. * Default: `true` - * `clicky` + * `clicky` Boolean * The default audio clicky enabled state. * Default: `true` - * `driver` + * `driver` String * The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`. - * `macro_beep` + * `macro_beep` Boolean * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros. * Default: `false` - * `pins` (Required) + * `pins` Array: Pin Required * The GPIO pin(s) connected to the speaker(s). * `power_control` - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the speaker on. * Default: `1` (on = high) - * `pin` + * `pin` Pin * The GPIO pin connected to speaker power circuit. - * `voices` + * `voices` Boolean * Use multiple audio voices. * Default: `false` @@ -141,40 +141,40 @@ Configures the [Audio](features/audio) feature. Configures the [Backlight](features/backlight) feature. * `backlight` - * `as_caps_lock` + * `as_caps_lock` Boolean * Use the backlight as a Caps Lock indicator. * Default: `false` - * `breathing` + * `breathing` Boolean * Whether backlight breathing is enabled. * Default: `false` - * `breathing_period` + * `breathing_period` Number * The length of one backlight breathing cycle in seconds. * Default: `6` (6 seconds) * `default` - * `on` + * `on` Boolean * The default backlight enabled state. * Default: `true` - * `breathing` + * `breathing` Boolean * The default backlight breathing state. * Default: `false` - * `brightness` + * `brightness` Number * The default brightness level. * Default: `max_brightness` - * `driver` + * `driver` String * The driver to use. Must be one of `custom`, `pwm`, `software`, `timer`. * Default: `"pwm"` - * `levels` + * `levels` Number * The number of brightness levels (excluding off), from 1 to 31. * Default: `3` - * `max_brightness` + * `max_brightness` Number * The maximum PWM value which brightness is scaled to, from 0 to 255. * Default: `255` - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the LEDs on. * Default: `1` (on = high) - * `pin` + * `pin` Pin * The GPIO pin connected to the backlight circuit. - * `pins` + * `pins` Array: Pin * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). ## Bluetooth {#bluetooth} @@ -182,7 +182,7 @@ Configures the [Backlight](features/backlight) feature. Configures the [Bluetooth](features/bluetooth) feature. * `bluetooth` - * `driver` + * `driver` String * The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`. ## Bootmagic {#bootmagic} @@ -190,10 +190,10 @@ Configures the [Bluetooth](features/bluetooth) feature. Configures the [Bootmagic](features/bootmagic) feature. * `bootmagic` - * `enabled` + * `enabled` Boolean * Enables the Bootmagic feature. * Default: `false` - * `matrix` + * `matrix` Matrix * The matrix position of the key to check during startup. This should generally be set to the (physically) top left key. * Default: `[0, 0]` @@ -202,19 +202,19 @@ Configures the [Bootmagic](features/bootmagic) feature. Configures the [Caps Word](features/caps_word) feature. * `caps_word` - * `both_shifts_turns_on` + * `both_shifts_turns_on` Boolean * Activate Caps Word by pressing both Shift keys. * Default: `false` - * `double_tap_shift_turns_on` + * `double_tap_shift_turns_on` Boolean * Activate Caps Word by pressing Left Shift twice. * Default: `false` - * `enabled` + * `enabled` Boolean * Enables the Caps Word feature. * Default: `false` - * `idle_timeout` + * `idle_timeout` Number * The amount of time before Caps Word automatically deactivates in milliseconds. * Default: `5000` (5 seconds) - * `invert_on_shift` + * `invert_on_shift` Boolean * Invert shift state instead of deactivating Caps Word when Shift is pressed. * Default: `false` @@ -223,7 +223,7 @@ Configures the [Caps Word](features/caps_word) feature. Configures the [Combo](features/combo) feature. * `combo` - * `term` + * `term` Number * The amount of time to recognize a combo in milliseconds. * Default: `50` (50 ms) @@ -232,12 +232,12 @@ Configures the [Combo](features/combo) feature. Configures the [DIP Switches](features/dip_switch) feature. * `dip_switch` - * `enabled` + * `enabled` Boolean * Enable the DIP Switches feature. * Default: `false` - * `pins` + * `pins` Array: Pin * A list of GPIO pins connected to the MCU. - * `matrix_grid` + * `matrix_grid` Array: Matrix * A list of matrix locations in the key matrix. * Example: `[ [0,6], [1,6], [2,6] ]` @@ -246,15 +246,15 @@ Configures the [DIP Switches](features/dip_switch) feature. Configures the [EEPROM](drivers/eeprom) driver. * `eeprom` - * `driver` + * `driver` String * The EEPROM backend to use. Must be one of `custom`, `i2c`, `legacy_stm32_flash`, `spi`, `transient`, `vendor`, `wear_leveling`. * Default: `"vendor"` * `wear_leveling` - * `driver` + * `driver` String * The driver to use. Must be one of `embedded_flash`, `legacy`, `rp2040_flash`, `spi_flash`, `custom`. - * `backing_size` + * `backing_size` Number * Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. - * `logical_size` + * `logical_size` Number * Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM. ## Encoder {#encoder} @@ -262,13 +262,13 @@ Configures the [EEPROM](drivers/eeprom) driver. Configures the [Encoder](features/encoders) feature. * `encoder` - * `rotary` + * `rotary` Array: Object * A list of encoder objects. - * `pin_a` (Required) + * `pin_a` Pin Required * The GPIO pin connected to the encoder's `A` pin. - * `pin_b` (Required) + * `pin_b` Pin Required * The GPIO pin connected to the encoder's `B` pin. - * `resolution` + * `resolution` Number * The number of edge transitions on both pins required to register an input. * Default: `4` @@ -277,18 +277,18 @@ Configures the [Encoder](features/encoders) feature. Configures the [LED Indicators](features/led_indicators) feature. * `indicators` - * `caps_lock` + * `caps_lock` Pin * The GPIO pin connected to the Caps Lock LED. - * `compose` + * `compose` Pin * The GPIO pin connected to the Compose LED. - * `kana` + * `kana` Pin * The GPIO pin connected to the Kana LED. - * `num_lock` + * `num_lock` Pin * The GPIO pin connected to the Num Lock LED. - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the LEDs on. * Default: `1` (on = high) - * `scroll_lock` + * `scroll_lock` Pin * The GPIO pin connected to the Scroll Lock LED. ## Layouts {#layouts} @@ -301,10 +301,10 @@ All key positions and rotations are specified in relation to the top-left corner The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize info.json layout data (such as `qmk info -l` and the QMK Configurator) should display this key as expected. -* `community_layouts` +* `community_layouts` Array: String * A list of community layouts supported by the keyboard. * Example: `["60_ansi", "60_iso"]` -* `layout_aliases` +* `layout_aliases` Object: String * A mapping of layout aliases to layout definitions. * Example: ```json @@ -313,34 +313,34 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in "LAYOUT_iso": "LAYOUT_60_iso" } ``` -* `layouts` +* `layouts` Object * A dictionary of layouts supported by the keyboard. - * `LAYOUT_` - * `layout` + * `LAYOUT_` Object + * `layout` Array: Object * A list of key dictionaries comprising the layout. Each key dictionary contains: - * `matrix` (Required) + * `matrix` Matrix Required * The matrix position for the key. * Example: `[0, 4]` (row 0, column 4) - * `x` (Required) + * `x` KeyUnit Required * The absolute position of the key in the horizontal axis, in key units. - * `y` (Required) + * `y` KeyUnit Required * The absolute position of the key in the vertical axis, in key units. - * `h` + * `h` KeyUnit * The height of the key, in key units. * Default: `1` (1u) - * `label` + * `label` String * What to name the key. This is *not* a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap. * Example: `"Escape"` - * `r` + * `r` Number * The rotation angle in degrees. Currently not implemented. - * `rx` + * `rx` Number * The absolute X position of the rotation axis. Currently not implemented. - * `ry` + * `ry` Number * The absolute Y position of the rotation axis. Currently not implemented. - * `w` + * `w` KeyUnit * The width of the key, in key units. * Default: `1` (1u) - * `encoder` + * `encoder` Number * The index of an encoder this key should be linked to * Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}` @@ -349,13 +349,13 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in Configures the [Leader Key](features/leader_key) feature. * `leader_key` - * `timing` + * `timing` Boolean * Reset the `timeout` on each keypress. * Default: `false` - * `strict_processing` + * `strict_processing` Boolean * Do not extract the tap keycodes from Layer-Tap and Mod-Tap key events. * Default: `false` - * `timeout` + * `timeout` Number * The amount of time to complete a leader sequence in milliseconds. * Default: `300` (300 ms) @@ -364,7 +364,7 @@ Configures the [Leader Key](features/leader_key) feature. Configures the [LED Matrix](features/led_matrix) feature. * `led_matrix` - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -374,82 +374,82 @@ Configures the [LED Matrix](features/led_matrix) feature. "cycle_left_right": false } ``` - * `center_point` + * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `led_matrix.animations` * Default: `"solid"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `128` - * `driver` (Required) + * `driver` String Required * The driver to use. Must be one of `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`. - * `layout` (Required) + * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: - * `flags` (Required) + * `flags` Number Required * A bitfield of flags describing the type of LED. - * `x` (Required) + * `x` Number Required * The position of the LED in the horizontal axis, from 0 to 224. - * `y` (Required) + * `y` Number Required * The position of the LED in the vertical axis, from 0 to 64. - * `matrix` + * `matrix` Matrix * The key matrix position associated with the LED. * Example: `[0, 2]` * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` - * `led_flush_limit` + * `led_flush_limit` Number * Limits in milliseconds how frequently an animation will update the LEDs. * Default: `16` - * `led_process_limit` + * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). * Default: `led_count / 5` - * `max_brightness` + * `max_brightness` Number * The maximum value which brightness is scaled to, from 0 to 255. * Default: `255` - * `react_on_keyup` + * `react_on_keyup` Boolean * Animations react to keyup instead of keydown. * Default: `false` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `speed_steps` + * `speed_steps` Number * The number of speed adjustment steps. * Default: `16` - * `split_count` + * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. * Example: `[16, 16]` - * `timeout` + * `timeout` Number * The LED activity timeout in milliseconds. * Default: `0` (no timeout) - * `val_steps` + * `val_steps` Number * The number of brightness adjustment steps. * Default: `8` ## Matrix {#matrix} -* `debounce` +* `debounce` Number * The debounce time in milliseconds. * Default: `5` (5 ms) -* `diode_direction` +* `diode_direction` String * Which way the diodes are "pointing". Unused for `matrix_pins.direct`. Must be one of `COL2ROW`, `ROW2COL`. * `matrix_pins` - * `cols` + * `cols` Array: Pin * A list of GPIO pins connected to the matrix columns. * Example: `["A0", "A1", "A2"]` - * `custom` + * `custom` Boolean * Whether to use a custom matrix scanning implementation. * Default: `false` - * `custom_lite` + * `custom_lite` Boolean * Whether to use a "lite" custom matrix scanning implementation. * Default: `false` - * `direct` + * `direct` Array: Array: Pin * A 2-dimensional list of GPIO pins connected to each keyswitch, forming the "matrix" rows and columns. * Example: ```json @@ -459,16 +459,16 @@ Configures the [LED Matrix](features/led_matrix) feature. ["C0", "C1", "C2"] ] ``` - * `ghost` + * `ghost` Boolean * Whether the matrix has no anti-ghosting diodes. * Default: `false` - * `input_pressed_state` + * `input_pressed_state` 0|1 * The logical GPIO state of the input pins when a key is pressed. * Default: `0` (pressed = low) - * `io_delay` + * `io_delay` Number * The amount of time to wait between row/col selection and col/row pin reading, in microseconds. * Default: `30` (30 µs) - * `rows` + * `rows` Array: Pin * A list of GPIO pins connected to the matrix rows. * Example: `["B0", "B1", "B2"]` @@ -477,23 +477,23 @@ Configures the [LED Matrix](features/led_matrix) feature. Configures the [Mouse Keys](features/mouse_keys) feature. * `mouse_key` - * `delay` - * `enabled` + * `delay` Number + * `enabled` Boolean * Enables the Mouse Keys feature. * Default: `false` - * `interval` - * `max_speed` - * `time_to_max` - * `wheel_delay` + * `interval` Number + * `max_speed` Number + * `time_to_max` Number + * `wheel_delay` Number ## One Shot {#one-shot} Configures [One Shot keys](one_shot_keys). * `oneshot` - * `tap_toggle` + * `tap_toggle` Number * The number of times to tap the key in order to hold it. - * `timeout` + * `timeout` Number * The amount of time before the key is released in milliseconds. ## PS/2 {#ps2} @@ -501,30 +501,30 @@ Configures [One Shot keys](one_shot_keys). Configures the [PS/2](features/ps2_mouse) feature. * `ps2` - * `clock_pin` + * `clock_pin` Pin * The GPIO pin connected to `CLK` on the PS/2 device. - * `data_pin` + * `data_pin` Pin * The GPIO pin connected to `DATA` on the PS/2 device. - * `driver` + * `driver` String * The PS/2 driver to use. Must be one of `busywait`, `interrupt`, `usart`, `vendor`. * Default: `"busywait"` - * `enabled` + * `enabled` Boolean * Enable the PS/2 feature. * Default: `false` - * `mouse_enabled` + * `mouse_enabled` Boolean * Enable the PS/2 mouse handling. * Default: `false` ## QMK LUFA Bootloader {#qmk-lufa-bootloader} * `qmk_lufa_bootloader` - * `esc_input` (Required) + * `esc_input` Pin Required * The GPIO pin connected to the designated "exit bootloader" key's row (if `COL2ROW`). - * `esc_output` (Required) + * `esc_output` Pin Required * The GPIO pin connected to the designated "exit bootloader" key's column (if `COL2ROW`). - * `led` + * `led` Pin * The GPIO pin connected to an LED to flash. - * `speaker` + * `speaker` Pin * The GPIO pin connected to a speaker to click (can also be used for a second LED). ## RGBLight {#rgblight} @@ -532,9 +532,9 @@ Configures the [PS/2](features/ps2_mouse) feature. Configures the [RGB Lighting](features/rgblight) feature. * `rgblight` - * `led_count` (Required) + * `led_count` Number Required * The number of LEDs in the chain. - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -544,60 +544,60 @@ Configures the [RGB Lighting](features/rgblight) feature. "snake": false } ``` - * `brightness_steps` + * `brightness_steps` Number * The number of brightness adjustment steps. * Default: `17` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `rgblight.animations` * Default: `"static_light"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `hue` + * `hue` Number * The default hue value. * Default: `0` - * `sat` + * `sat` Number * The default saturation value. * Default: `255` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `0` - * `driver` + * `driver` String * The driver to use. Must be one of `apa102`, `custom`, `ws2812`. * Default: `"ws2812"` - * `hue_steps` + * `hue_steps` Number * The number of hue adjustment steps. * Default: `8` * `layers` - * `blink` + * `blink` Boolean * Enable layer blinking API. * Default: `false` - * `enabled` + * `enabled` Boolean * Enable RGB Lighting Layers. * Default: `false` - * `max` + * `max` Number * The maximum layer count, from 1 to 32. * Default: `8` - * `led_map` + * `led_map` Array: Number * Remap LED indices. * Example: `[4, 3, 2, 1, 0]` - * `max_brightness` + * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `saturation_steps` + * `saturation_steps` Number * The number of saturation adjustment steps. * Default: `17` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `split` + * `split` Boolean * Enable synchronization between split halves. * Default: `false` - * `split_count` + * `split_count` Array: Number * When `rgblight.split` is enabled, the number of LEDs on each half. * Example: `[10, 10]` @@ -606,7 +606,7 @@ Configures the [RGB Lighting](features/rgblight) feature. Configures the [RGB Matrix](features/rgb_matrix) feature. * `rgb_matrix` - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -616,73 +616,73 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. "cycle_left_right": false } ``` - * `center_point` + * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `rgb_matrix.animations` * Default: `"solid_color"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `hue` + * `hue` Number * The default hue value. * Default: `0` - * `sat` + * `sat` Number * The default saturation value. * Default: `255` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `128` - * `driver` (Required) + * `driver` String Required * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. - * `hue_steps` + * `hue_steps` Number * The number of hue adjustment steps. * Default: `8` - * `layout` (Required) + * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: - * `flags` (Required) + * `flags` Number Required * A bitfield of flags describing the type of LED. - * `x` (Required) + * `x` Number Required * The position of the LED in the horizontal axis, from 0 to 224. - * `y` (Required) + * `y` Number Required * The position of the LED in the vertical axis, from 0 to 64. - * `matrix` + * `matrix` Matrix * The key matrix position associated with the LED. * Example: `[0, 2]` * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` - * `led_flush_limit` + * `led_flush_limit` Number * Limits in milliseconds how frequently an animation will update the LEDs. * Default: `16` - * `led_process_limit` + * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). * Default: `led_count / 5` - * `max_brightness` + * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `react_on_keyup` + * `react_on_keyup` Boolean * Animations react to keyup instead of keydown. * Default: `false` - * `sat_steps` + * `sat_steps` Number * The number of saturation adjustment steps. * Default: `16` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `speed_steps` + * `speed_steps` Number * The number of speed adjustment steps. * Default: `16` - * `split_count` + * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. * Example: `[16, 16]` - * `timeout` + * `timeout` Number * The LED activity timeout in milliseconds. * Default: `0` (no timeout) - * `val_steps` + * `val_steps` Number * The number of brightness adjustment steps. * Default: `16` @@ -691,16 +691,16 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. Configures the [Secure](features/secure) feature. * `secure` - * `enabled` + * `enabled` Boolean * Enable the Secure feature. * Default: `false` - * `idle_timeout` + * `idle_timeout` Number * Timeout while unlocked before returning to the locked state. Set to `0` to disable. * Default: `60000` (1 minute) - * `unlock_sequence` + * `unlock_sequence` Array: Matrix * A list of up to five matrix locations comprising the "unlock sequence". * Example: `[[0, 0], [0, 1], [4, 3]]` - * `unlock_timeout` + * `unlock_timeout` Number * Timeout for the user to perform the unlock sequence. Set to `0` to disable. * Default: `5000` (5 seconds) @@ -716,7 +716,7 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `right` * `pins` * See [DIP Switches](#dip-switch) config. - * `enabled` + * `enabled` Boolean * Enable the Split Keyboard feature. * Default: `false` * `encoder` @@ -724,69 +724,78 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `rotary` * See [Encoder](#encoder) config. * `handedness` - * `pin` + * `pin` Pin * The GPIO pin connected to determine handedness. - * `matrix_grid` + * `matrix_grid` Array: Pin * The GPIO pins of the matrix position which determines the handedness. * Example: `["A1", "B5"]` * `matrix_pins` * `right` * See [Matrix](#matrix) config. * `serial` +<<<<<<< HEAD * `driver` * The driver to use. Must be one of `bitbang`, `usart`, `vendor`. * Default: `"bitbang"` * `pin` * The GPIO pin to use for transmit and receive. * `soft_serial_speed` +======= + * `driver` String + * The driver to use. Must be one of `bitbang`, `usart`, `vendor`. + * Default: `"bitbang"` + * `pin` Pin + * The GPIO pin to use for transmit and receive. + * `soft_serial_speed` Number +>>>>>>> upstream/master * The protocol speed, from `0` to `5` (`serial` transport protocol only). * Default: `1` * `transport` - * `protocol` + * `protocol` String * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`. * `sync` - * `activity` + * `activity` Boolean * Mirror the activity timestamps to the secondary half. * Default: `false` - * `detected_os` + * `detected_os` Boolean * Mirror the [detected OS](features/os_detection) to the secondary half. * Default: `false` - * `haptic` + * `haptic` Boolean * Mirror the haptic state and process haptic feedback to the secondary half. * Default: `false` - * `layer_state` + * `layer_state` Boolean * Mirror the layer state to the secondary half. * Default: `false` - * `indicators` + * `indicators` Boolean * Mirror the indicator state to the secondary half. * Default: `false` - * `matrix_state` + * `matrix_state` Boolean * Mirror the main/primary half's matrix state to the secondary half. * Default: `false` - * `modifiers` + * `modifiers` Boolean * Mirror the modifier state to the secondary half. * Default: `false` - * `oled` + * `oled` Boolean * Mirror the OLED on/off status to the secondary half. * Default: `false` - * `st7565` + * `st7565` Boolean * Mirror the ST7565 on/off status to the secondary half. * Default: `false` - * `wpm` + * `wpm` Boolean * Mirror the current WPM value to the secondary half. * Default: `false` - * `watchdog` + * `watchdog` Boolean * Reboot the secondary half if it loses connection. * Default: `false` - * `watchdog_timeout` + * `watchdog_timeout` Number * The amount of time to wait for communication from the primary half in milliseconds. * `usb_detect` - * `enabled` + * `enabled` Boolean * Detect USB connection when determining split half roles. - * `polling_interval` + * `polling_interval` Number * The polling frequency in milliseconds. * Default: `10` (10 ms) - * `timeout` + * `timeout` Number * The amount of time to wait for a USB connection in milliseconds. * Default: `2000` (2 seconds) @@ -795,48 +804,48 @@ Configures the [Split Keyboard](features/split_keyboard) feature. Configures the [Stenography](features/stenography) feature. * `stenography` - * `enabled` + * `enabled` Boolean * Enable the Stenography feature. * Default: `false` - * `protocol` + * `protocol` String * The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`. * Default: `"all"` ## USB {#usb} * `usb` - * `device_version` (Required) + * `device_version` String Required * A BCD version number in the format `MM.m.r` (up to `99.9.9`). * Example: `"1.0.0"` - * `pid` (Required) + * `pid` String Required * The USB product ID as a four-digit hexadecimal number. * Example: `"0x23B0"` - * `vid` (Required) + * `vid` String Required * The USB vendor ID as a four-digit hexadecimal number. * Example: `"0xC1ED"` - * `force_nkro` + * `force_nkro` Boolean * Force NKRO to be active. * Default: `false` - * `max_power` + * `max_power` Number * The maximum current draw the host should expect from the device. This does not control the actual current usage. * Default: `500` (500 mA) - * `no_startup_check` + * `no_startup_check` Boolean * Disable USB suspend check after keyboard startup. * Default: `false` - * `polling_interval` + * `polling_interval` Number * The frequency at which the host should poll the keyboard for reports. * Default: `1` (1 ms/1000 Hz) * `shared_endpoint` - * `keyboard` + * `keyboard` Boolean * Send keyboard reports through the "shared" USB endpoint. * Default: `false` - * `mouse` + * `mouse` Boolean * Send mouse reports through the "shared" USB endpoint. * Default: `true` - * `suspend_wakeup_delay` + * `suspend_wakeup_delay` Number * The amount of time to wait after sending a wakeup packet, in milliseconds. * Default: `0` (disabled) - * `wait_for_enumeration` + * `wait_for_enumeration` Boolean * Force the keyboard to wait for USB enumeration before starting up. * Default: `false` @@ -845,17 +854,17 @@ Configures the [Stenography](features/stenography) feature. Configures the [WS2812](drivers/ws2812) driver. * `ws2812` - * `driver` + * `driver` String * The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`. * Default: `"bitbang"` - * `pin` (Required) + * `pin` Pin Required * The GPIO pin connected to `DI` on the first LED in the chain (`bitbang`, `pwm`, `spi` and `vendor` drivers only). - * `i2c_address` + * `i2c_address` String * The I²C address of the WS2812 controller (`i2c` driver only). * Default: `"0xB0"` - * `i2c_timeout` + * `i2c_timeout` Number * The I²C timeout in milliseconds (`i2c` driver only). * Default: `100` (100 ms) - * `rgbw` + * `rgbw` Boolean * Enable RGBW LEDs. * Default: `false` diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c index 4fce40edbe05..cf71c5e5a33d 100644 --- a/drivers/lcd/st7565.c +++ b/drivers/lcd/st7565.c @@ -187,6 +187,8 @@ void st7565_render(void) { st7565_send_data(&st7565_buffer[ST7565_BLOCK_SIZE * update_start], ST7565_BLOCK_SIZE); + spi_stop(); + // Turn on display if it is off st7565_on(); diff --git a/keyboards/a_jazz/akc084/keyboard.json b/keyboards/a_jazz/akc084/keyboard.json index c5270e4178c1..6076b389ee73 100644 --- a/keyboards/a_jazz/akc084/keyboard.json +++ b/keyboards/a_jazz/akc084/keyboard.json @@ -81,7 +81,11 @@ {"matrix": [2, 9], "x": 9.5, "y": 2}, {"matrix": [2, 10], "x": 10.5, "y": 2}, {"matrix": [2, 11], "x": 11.5, "y": 2}, +<<<<<<< HEAD {"matrix": [2, 12], "x": 11.5, "y": 2}, +======= + {"matrix": [2, 12], "x": 12.5, "y": 2}, +>>>>>>> upstream/master {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [5, 11], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -95,6 +99,7 @@ {"matrix": [3, 8], "x": 8.75, "y": 3}, {"matrix": [3, 9], "x": 9.75, "y": 3}, {"matrix": [3, 10], "x": 10.75, "y": 3}, +<<<<<<< HEAD {"matrix": [3, 11], "x": 11.75, "y": 3, "w": 2.25}, {"matrix": [3, 12], "x": 14, "y": 3}, {"matrix": [5, 12], "x": 15, "y": 3}, @@ -122,6 +127,35 @@ {"matrix": [5, 8], "x": 13, "y": 4}, {"matrix": [5, 9], "x": 14, "y": 4}, {"matrix": [5, 10], "x": 15, "y": 4} +======= + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [5, 12], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4}, + {"matrix": [4, 2], "x": 3.25, "y": 4}, + {"matrix": [4, 3], "x": 4.25, "y": 4}, + {"matrix": [4, 4], "x": 5.25, "y": 4}, + {"matrix": [4, 5], "x": 6.25, "y": 4}, + {"matrix": [4, 6], "x": 7.25, "y": 4}, + {"matrix": [4, 7], "x": 8.25, "y": 4}, + {"matrix": [4, 8], "x": 9.25, "y": 4}, + {"matrix": [4, 9], "x": 10.25, "y": 4}, + {"matrix": [4, 10], "x": 11.25, "y": 4}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [5, 7], "x": 14, "y": 4}, + {"matrix": [5, 13], "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, 3], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5}, + {"matrix": [5, 5], "x": 11, "y": 5}, + {"matrix": [5, 6], "x": 12, "y": 5}, + {"matrix": [5, 8], "x": 13, "y": 5}, + {"matrix": [5, 9], "x": 14, "y": 5}, + {"matrix": [5, 10], "x": 15, "y": 5} +>>>>>>> upstream/master ] } } diff --git a/keyboards/arrayperipherals/vector/keyboard.json b/keyboards/arrayperipherals/vector/keyboard.json new file mode 100644 index 000000000000..505199831d5a --- /dev/null +++ b/keyboards/arrayperipherals/vector/keyboard.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "Array Peripherals", + "keyboard_name": "The Vector", + "maintainer": "daviddoan", + "bootloader": "atmel-dfu", + "encoder": { + "rotary": [ + {"pin_a": "F0", "pin_b": "F1"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["D4", "C6", "D7", "E6", "F7"] + ] + }, + "processor": "atmega32u4", + "url": "https://arrayperipherals.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x4F47", + "vid": "0x4152" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k01", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "k02", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "k03", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "k04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "k05", "matrix": [0, 4], "x": 4.25, "y": 0} + ] + } + } +} diff --git a/keyboards/arrayperipherals/vector/keymaps/default/keymap.c b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c new file mode 100644 index 000000000000..e290e3707646 --- /dev/null +++ b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2024 David Doan + +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 . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, TG(1) + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(1) + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}, +}; +#endif // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/keymaps/default/rules.mk b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk new file mode 100644 index 000000000000..a40474b4d5c7 --- /dev/null +++ b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/readme.md b/keyboards/arrayperipherals/vector/readme.md new file mode 100644 index 000000000000..dee7dc8f9a16 --- /dev/null +++ b/keyboards/arrayperipherals/vector/readme.md @@ -0,0 +1,26 @@ +# The Vector Macropad + +![The Vector](https://i.imgur.com/rmy76bp.png) + +A small (1x4) macropad with a rotary. [More info at arrayperipherals.com](https://www.arrayperipherals.com/) + +* Keyboard Maintainer: [David Doan](https://github.com/daviddoan) +* Hardware Supported: Custom PCB with Atmega32u4 processor +* Hardware Availability: [arrayperipherals.com](https://www.arrayperipherals.com/) + +Make example for this keyboard (after setting up your build environment): + + make arrayperipherals/vector:default + +Flashing example for this keyboard: + + make arrayperipherals/vector: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 key at (0,0) in the matrix (left most from the rotary) +* **Physical reset button**: Briefly double press the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/atset/at2/keyboard.json b/keyboards/atset/at2/keyboard.json new file mode 100644 index 000000000000..d612505c900e --- /dev/null +++ b/keyboards/atset/at2/keyboard.json @@ -0,0 +1,32 @@ +{ + "manufacturer": "Atset", + "keyboard_name": "AT2", + "maintainer": "qmk", + "board": "GENERIC_RP_RP2040", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "usb": { + "vid": "0x4141", + "pid": "0x6174", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP19", "GP20"], + "rows": ["GP28"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0} + ] + } + } +} diff --git a/keyboards/atset/at2/keymaps/default/keymap.c b/keyboards/atset/at2/keymaps/default/keymap.c new file mode 100644 index 000000000000..bdecf93a57af --- /dev/null +++ b/keyboards/atset/at2/keymaps/default/keymap.c @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MUTE, KC_MPLY + ) +}; + diff --git a/keyboards/atset/at2/readme.md b/keyboards/atset/at2/readme.md new file mode 100644 index 000000000000..0bc777b052e2 --- /dev/null +++ b/keyboards/atset/at2/readme.md @@ -0,0 +1,24 @@ +# ATSET AT2 + +A special 2 key keyboard powered by QMK. + +* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7) +* Hardware Supported: ATSET AT2 (https://imgur.com/a/yBbVwef) +https://www.atsetmediscience.com/atset-at2-9949007.html +Make example for this keyboard (after setting up your build environment): + + make atset/at2:default + +Flashing example for this keyboard: + + make atset/at2: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 diff --git a/keyboards/deemen17/de80/config.h b/keyboards/deemen17/de80/config.h new file mode 100644 index 000000000000..e4066d3954b8 --- /dev/null +++ b/keyboards/deemen17/de80/config.h @@ -0,0 +1,20 @@ +/* Copyright 2024 Deemen17 + * + * 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 . + */ + +#pragma once + +#define WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_USE_CIRCULAR_BUFFER diff --git a/keyboards/deemen17/de80/halconf.h b/keyboards/deemen17/de80/halconf.h new file mode 100644 index 000000000000..7d82886993cc --- /dev/null +++ b/keyboards/deemen17/de80/halconf.h @@ -0,0 +1,29 @@ +<<<<<<<< HEAD:keyboards/hineybush/h75_singa/config.h +/* Copyright 2019 hineybush +======== +/* Copyright 2022 QMK +>>>>>>>> upstream/master:keyboards/deemen17/de80/halconf.h + * + * 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 . + */ +#pragma once + +<<<<<<<< HEAD:keyboards/hineybush/h75_singa/config.h +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) +======== +#define HAL_USE_SPI TRUE + +#include_next + +>>>>>>>> upstream/master:keyboards/deemen17/de80/halconf.h diff --git a/keyboards/deemen17/de80/keyboard.json b/keyboards/deemen17/de80/keyboard.json new file mode 100644 index 000000000000..f2b6b2dbdd40 --- /dev/null +++ b/keyboards/deemen17/de80/keyboard.json @@ -0,0 +1,893 @@ +{ + "manufacturer": "Deemen17", + "keyboard_name": "DE80", + "maintainer": "Deemen17", + "bootloader": "uf2boot", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "matrix_pins": { + "rows": ["A8", "A10", "A9", "B11", "C14", "C13"], + "cols": ["B14", "B13", "B12", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "A15", "B7", "B6"] + }, + "processor": "STM32F103", + "usb": { + "vid": "0xDE17", + "pid": "0x80F1", + "device_version": "1.0.0" + }, + "indicators": { + "caps_lock": "B10", + "scroll_lock": "B3" + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 40, + "max_brightness": 250, + "sleep": true + }, + "ws2812": { + "driver": "spi", + "pin": "B15" + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B4"} + ] + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_ansi_wkl", "tkl_ansi_wkl_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_f13_ansi_wkl", "tkl_f13_ansi_wkl_split_bs_rshift" ], + "layouts": { + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "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": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "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": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "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": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "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": [0, 8], "x": 8.5, "y": 0}, + + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "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": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/deemen17/de80/keymaps/default/keymap.c b/keyboards/deemen17/de80/keymaps/default/keymap.c new file mode 100644 index 000000000000..cd3543044701 --- /dev/null +++ b/keyboards/deemen17/de80/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2024 Deemen17 Works + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + 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_BSLS, 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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_SAI, RGB_HUI, + KC_TRNS, KC_TRNS, KC_TRNS, 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_SAD, RGB_HUD, + 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_TOG, + KC_TRNS, 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_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD + ) + +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +}; +#endif diff --git a/keyboards/deemen17/de80/keymaps/default/rules.mk b/keyboards/deemen17/de80/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/deemen17/de80/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/deemen17/de80/mcuconf.h b/keyboards/deemen17/de80/mcuconf.h new file mode 100644 index 000000000000..8b309107b0c3 --- /dev/null +++ b/keyboards/deemen17/de80/mcuconf.h @@ -0,0 +1,23 @@ +/* Copyright 2022 QMK + * + * 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 . + */ + +#pragma once + +#include_next + + +#undef STM32_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/deemen17/de80/readme.md b/keyboards/deemen17/de80/readme.md new file mode 100644 index 000000000000..c82330d8f220 --- /dev/null +++ b/keyboards/deemen17/de80/readme.md @@ -0,0 +1,27 @@ +# DE80 + +![deemen17/de80](https://i.imgur.com/oZvFM0G.png) + +The DE80 is a portable TKL PCB that features a compact A87 form factor, dual USB Type C ports (breakable), seven JST SH 4P 1.0 ports, two FPC ports, and compatibility with both F12 and F13 footprints, making it suitable for use with a variety of TKL boards. + +* Keyboard Maintainer: [Deemen17](https://github.com/Deemen17) +* Hardware Supported: DE80 R1 2024 PCB w/ STM32F103 MCU +* Hardware Availability: [Deemen17 Facebook Page](https://www.facebook.com/deemen17/), [Deemen17 Works Instagram](https://www.instagram.com/deemen17.works) + +Make example for this keyboard (after setting up your build environment): + + make deemen17/de80:default + +Flashing example for this keyboard: + + make deemen17/de80: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 (ESC/Escape) and plug in the keyboard +* **Physical reset button**: Double tap the button RESET on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/doio/kb09/keyboard.json b/keyboards/doio/kb09/keyboard.json new file mode 100644 index 000000000000..e3012f510cb5 --- /dev/null +++ b/keyboards/doio/kb09/keyboard.json @@ -0,0 +1,123 @@ +{ + "manufacturer": "DOIO", + "keyboard_name": "KB09-01", + "maintainer": "DOIO2022", + "bootloader": "stm32duino", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"}, + {"pin_a": "A1", "pin_b": "A2"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B14", "B13", "B12", "B0", "A7"], + "rows": ["B3", "B4", "B9", "B8"] + }, + "processor": "STM32F103", + "rgb_matrix": { + "animations": { + "alphas_mods": 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_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "default": { + "animation": "cycle_up_down" + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 56, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 112, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [1, 1], "x": 56, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 112, "y": 21, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [2, 1], "x": 56, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 112, "y": 42, "flags": 4} + ], + "max_brightness": 200, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x0901", + "vid": "0xD010" + }, + "ws2812": { + "pin": "A10" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [1, 3], "x": 1, "y": 0}, + {"matrix": [0, 0], "x": 4, "y": 0}, + {"matrix": [0, 1], "x": 5, "y": 0}, + {"matrix": [0, 2], "x": 6, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 3], "x": 0, "y": 1}, + {"matrix": [2, 3], "x": 2, "y": 1}, + {"matrix": [1, 0], "x": 4, "y": 1}, + {"matrix": [1, 1], "x": 5, "y": 1}, + {"matrix": [1, 2], "x": 6, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 2}, + {"matrix": [2, 0], "x": 4, "y": 2}, + {"matrix": [2, 1], "x": 5, "y": 2}, + {"matrix": [2, 2], "x": 6, "y": 2}, + {"matrix": [3, 1], "x": 3, "y": 3}, + {"matrix": [3, 2], "x": 3, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/doio/kb09/keymaps/default/keymap.c b/keyboards/doio/kb09/keymaps/default/keymap.c new file mode 100644 index 000000000000..657a6bc428fa --- /dev/null +++ b/keyboards/doio/kb09/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * 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 . + */ + + +#include QMK_KEYBOARD_H + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + KC_UP, KC_1, KC_2, KC_3, KC_MPLY, KC_MUTE, + KC_LEFT, KC_RIGHT, KC_4, KC_5, KC_6, + KC_DOWN, KC_7, KC_8, KC_9, + TO(1), LWIN(KC_D)), + [_LAY1] = LAYOUT( + KC_TRNS, C(S(KC_S)), C(KC_H), C(KC_G), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, C(S(KC_A)), C(KC_J), C(S(KC_G)), + KC_TRNS, C(KC_Z), KC_DEL, C(A(S(KC_E))), + TO(2), KC_TRNS), + [_LAY2] = LAYOUT( + KC_TRNS, S(KC_I), A(KC_EQL), C(S(KC_M)), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, S(KC_O), A(KC_MINS), S(KC_M), + KC_TRNS, KC_C, KC_V, C(KC_M), + TO(3), KC_TRNS), + [_LAY3] = LAYOUT( + KC_TRNS, RGB_SPI, RGB_SPD, RGB_HUI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, RGB_HUD, + KC_TRNS, RGB_MOD, RGB_VAI, RGB_VAD, + TO(0), KC_TRNS) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb09/readme.md b/keyboards/doio/kb09/readme.md new file mode 100644 index 000000000000..a7b23dc58da9 --- /dev/null +++ b/keyboards/doio/kb09/readme.md @@ -0,0 +1,26 @@ +# doio/kb09 + +![kb09-01](https://i.imgur.com/MVKeweC.png) + +QMK for DOIO GBA keypad . + +* Keyboard Maintainer: DOIO2022 +* Hardware Supported: DOIO GBA keypad + +Make example for this keyboard (after setting up your build environment): + + make doio/kb09:default + +Flashing example for this keyboard: + + make doio/kb09: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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/scottokeebs/scotto37/keyboard.json b/keyboards/handwired/scottokeebs/scotto37/keyboard.json new file mode 100644 index 000000000000..579840e8d140 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keyboard.json @@ -0,0 +1,69 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto37", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP29", "GP28"], + "rows": ["GP22", "GP20", "GP23", "GP21"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0027", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT_3x10_7": { + "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": [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": [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, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "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, 4], "x": 4, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3} + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h new file mode 100644 index 000000000000..8ac58ca23c0f --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* +Copyright 2024 Joe Scotto + +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 . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c new file mode 100644 index 000000000000..a5d489f00447 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2024 Joe Scotto + +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 . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_3x10_7( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT_3x10_7( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_3x10_7( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_3x10_7( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto37/readme.md b/keyboards/handwired/scottokeebs/scotto37/readme.md new file mode 100644 index 000000000000..a2198e17e309 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/readme.md @@ -0,0 +1,29 @@ +# Scotto37 + +![Scotto37](https://i.imgur.com/WOXAGc3h.jpg) + +A 37-key gasket-mounted 0.25u column-staggered keyboard with a 3u spacebar. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 Pro Micro +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto37:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto37: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 diff --git a/keyboards/hineybush/h660s/config.h b/keyboards/hineybush/h660s/config.h index 2ac1c1bae552..488f60089c91 100644 --- a/keyboards/hineybush/h660s/config.h +++ b/keyboards/hineybush/h660s/config.h @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:keyboards/hineybush/h660s/config.h /* Copyright 2018 Josh Hinnebusch +======== +/* Copyright 2019 hineybush +>>>>>>>> upstream/master:keyboards/hineybush/h75_singa/config.h * * 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 diff --git a/keyboards/hineybush/h75_singa/config.h b/keyboards/hineybush/h75_singa/config.h index 6be72d4d9ff2..7d82886993cc 100644 --- a/keyboards/hineybush/h75_singa/config.h +++ b/keyboards/hineybush/h75_singa/config.h @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:keyboards/hineybush/h75_singa/config.h /* Copyright 2019 hineybush +======== +/* Copyright 2022 QMK +>>>>>>>> upstream/master:keyboards/deemen17/de80/halconf.h * * 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 @@ -15,4 +19,11 @@ */ #pragma once +<<<<<<<< HEAD:keyboards/hineybush/h75_singa/config.h #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) +======== +#define HAL_USE_SPI TRUE + +#include_next + +>>>>>>>> upstream/master:keyboards/deemen17/de80/halconf.h diff --git a/keyboards/hineybush/h87a/config.h b/keyboards/hineybush/h87a/config.h index 9ff1e426bdc1..10b7d8def5f1 100644 --- a/keyboards/hineybush/h87a/config.h +++ b/keyboards/hineybush/h87a/config.h @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:keyboards/hineybush/h87a/config.h /* Copyright 2020 Josh Hinnebusch +======== +/* Copyright 2018 Josh Hinnebusch +>>>>>>>> upstream/master:keyboards/hineybush/h660s/config.h * * 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 diff --git a/keyboards/hotdox76v2/hotdox76v2.c b/keyboards/hotdox76v2/hotdox76v2.c index 3ee58941070d..e60777703ee5 100644 --- a/keyboards/hotdox76v2/hotdox76v2.c +++ b/keyboards/hotdox76v2/hotdox76v2.c @@ -20,12 +20,12 @@ led_config_t g_led_config = { { 13, 12, 11, 10, 9, 8, 7 }, { 0, 1, 2, 3, 4, 5, 6 }, /*right*/ - { NO_LED, 72, 71, 70, 73, 75, 74 }, - { 65, 66, 67, 68, 69, NO_LED, NO_LED }, - { 64, 63, 62, 61, 60, 59, 58 }, - { 52, 53, 54, 55, 56, 57, NO_LED }, - { 51, 50, 49, 48, 47, 46, 45 }, - { 38, 39, 40, 41, 42, 43, 44 } + { NO_LED, 77, 76, 75, 78, 80, 79 }, + { 70, 71, 72, 73, 74, NO_LED, NO_LED }, + { 69, 68, 67, 66, 65, 64, 63 }, + { 57, 58, 59, 60, 61, 62, NO_LED }, + { 56, 55, 54, 53, 52, 51, 50 }, + { 43, 44, 45, 46, 47, 48, 49 } }, { // LED Index to Physical Position @@ -60,7 +60,7 @@ led_config_t g_led_config = { #ifdef OLED_ENABLE -# define UNC (94 + 0x21) +# define UNC (' ') typedef struct _master_to_slave_t { int cur_alp_index; char current_alp[7]; @@ -115,8 +115,8 @@ void render_layer_helper_fun(uint8_t start_line, const char *data, uint8_t gap_w for (j = 0; j < l; ++j) { // font index for (k = 0; k < 12; ++k) { // font byte index // base + logo_w(32) + gap_w(12) +l*font_w(12)+current_byte_index - oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k); - oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x20][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x20][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k); } } for (j = 0; j < gap_w; ++j) { @@ -151,8 +151,8 @@ void render_cur_input_helper_fun(uint8_t start_line, const char *data, uint8_t g for (j = 0; j < l; ++j) { // font index for (k = 0; k < 12; ++k) { // font byte index // base + logo_w(0) + gap_w(12) +l*font_w(12)+current_byte_index - oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][k]), start_line * 2 * 128 + gap_w + j * 12 + k); - oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x20][k]), start_line * 2 * 128 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x20][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k); } } for (j = 0; j < gap_w; ++j) { diff --git a/keyboards/hotdox76v2/oled_font_lib/ext_font.h b/keyboards/hotdox76v2/oled_font_lib/ext_font.h index 3d0f524025cb..dbcb59ed80ec 100644 --- a/keyboards/hotdox76v2/oled_font_lib/ext_font.h +++ b/keyboards/hotdox76v2/oled_font_lib/ext_font.h @@ -7,116 +7,116 @@ #include "progmem.h" /* - !(0) "(1) #(2) $(3) %(4) &(5) '(6) ((7) - )(8) *(9) +(10) ,(11) -(12) .(13) /(14) 0(15) - 1(16) 2(17) 3(18) 4(19) 5(20) 6(21) 7(22) 8(23) - 9(24) :(25) ;(26) <(27) =(28) >(29) ?(30) @(31) - A(32) B(33) C(34) D(35) E(36) F(37) G(38) H(39) - I(40) J(41) K(42) L(43) M(44) N(45) O(46) P(47) - Q(48) R(49) S(50) T(51) U(52) V(53) W(54) X(55) - Y(56) Z(57) [(58) \(59) ](60) ^(61) _(62) `(63) - a(64) b(65) c(66) d(67) e(68) f(69) g(70) h(71) - i(72) j(73) k(74) l(75) m(76) n(77) o(78) p(79) - q(80) r(81) s(82) t(83) u(84) v(85) w(86) x(87) - y(88) z(89) {(90) |(91) }(92) ~(93) (94) + (0) !(1) "(2) #(3) $(4) %(5) &(6) '(7) ((8) + )(9) *(10) +(11) ,(12) -(13) .(14) /(15) 0(16) + 1(17) 2(18) 3(19) 4(20) 5(21) 6(22) 7(23) 8(24) + 9(25) :(26) ;(27) <(28) =(29) >(30) ?(31) @(32) + A(33) B(34) C(35) D(36) E(37) F(38) G(39) H(40) + I(41) J(42) K(43) L(44) M(45) N(46) O(47) P(48) + Q(49) R(50) S(51) T(52) U(53) V(54) W(55) X(56) + Y(57) Z(58) [(59) \(60) ](61) ^(62) _(63) `(64) + a(65) b(66) c(67) d(68) e(69) f(70) g(71) h(72) + i(73) j(74) k(75) l(76) m(77) n(78) o(79) p(80) + q(81) r(82) s(83) t(84) u(85) v(86) w(87) x(88) + y(89) z(90) {(91) |(92) }(93) ~(94) */ static const unsigned char ext_big_font[95][24] PROGMEM = { -{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",0*/ -{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",1*/ -{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",2*/ -{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",3*/ -{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",4*/ -{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",5*/ -{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",6*/ -{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",7*/ -{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",8*/ -{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",9*/ -{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",10*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",11*/ -{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",12*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",13*/ -{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",14*/ -{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",15*/ -{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",16*/ -{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",17*/ -{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",18*/ -{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",19*/ -{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",20*/ -{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",21*/ -{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",22*/ -{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",23*/ -{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",24*/ -{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",25*/ -{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",26*/ -{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",27*/ -{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",28*/ -{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",29*/ -{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",30*/ -{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",31*/ -{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",32*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",33*/ -{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",34*/ -{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",35*/ -{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",36*/ -{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",37*/ -{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",38*/ -{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",39*/ -{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",40*/ -{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",41*/ -{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",42*/ -{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",43*/ -{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",44*/ -{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",45*/ -{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",46*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",47*/ -{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",48*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",49*/ -{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",50*/ -{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",51*/ -{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",52*/ -{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",53*/ -{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",54*/ -{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",55*/ -{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",56*/ -{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",57*/ -{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",58*/ -{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",59*/ -{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",60*/ -{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",61*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",62*/ -{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",63*/ -{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",64*/ -{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",65*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",66*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",67*/ -{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",68*/ -{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",69*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",70*/ -{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",71*/ -{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",72*/ -{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",73*/ -{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",74*/ -{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",75*/ -{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",76*/ -{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",77*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",78*/ -{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",79*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",80*/ -{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",81*/ -{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",82*/ -{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",83*/ -{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",84*/ -{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",85*/ -{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",86*/ -{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",87*/ -{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",88*/ -{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",89*/ -{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",90*/ -{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",91*/ -{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",92*/ -{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",93*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",94*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ +{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",1*/ +{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/ +{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",3*/ +{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",4*/ +{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",5*/ +{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",6*/ +{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ +{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",8*/ +{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/ +{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",10*/ +{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",11*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",12*/ +{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",13*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",14*/ +{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",15*/ +{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",16*/ +{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",17*/ +{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",18*/ +{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",19*/ +{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",20*/ +{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",21*/ +{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",22*/ +{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",23*/ +{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",24*/ +{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",25*/ +{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",26*/ +{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",27*/ +{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",28*/ +{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",29*/ +{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",30*/ +{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",31*/ +{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",32*/ +{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",33*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",34*/ +{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",35*/ +{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",36*/ +{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",37*/ +{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",38*/ +{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",39*/ +{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",40*/ +{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",41*/ +{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",42*/ +{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",43*/ +{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",44*/ +{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",45*/ +{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",46*/ +{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",47*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",48*/ +{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",49*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",50*/ +{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",51*/ +{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",52*/ +{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",53*/ +{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",54*/ +{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",55*/ +{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",56*/ +{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",57*/ +{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",58*/ +{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",59*/ +{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",60*/ +{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",61*/ +{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",63*/ +{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/ +{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",65*/ +{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",66*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",67*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",68*/ +{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",69*/ +{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",70*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",71*/ +{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",72*/ +{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",73*/ +{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",74*/ +{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",75*/ +{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",76*/ +{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",77*/ +{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",78*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",79*/ +{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",80*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",81*/ +{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",82*/ +{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",83*/ +{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",84*/ +{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",85*/ +{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",86*/ +{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",87*/ +{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",88*/ +{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",89*/ +{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",90*/ +{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",91*/ +{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",92*/ +{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",93*/ +{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",94*/ }; static const unsigned char blank_block PROGMEM = 0x00; diff --git a/keyboards/ibm/model_m/modelh/keyboard.json b/keyboards/ibm/model_m/modelh/keyboard.json index 513d5d9bb6bf..6b9cf20c1d5e 100644 --- a/keyboards/ibm/model_m/modelh/keyboard.json +++ b/keyboards/ibm/model_m/modelh/keyboard.json @@ -284,6 +284,93 @@ {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2}, {"matrix": [0, 13], "x": 20.5, "y": 5.5} ] - } + }, + "LAYOUT_wheelwriter_1x_iso": { + "layout": [ + {"matrix": [2, 2], "x": 0, "y": 0}, + + {"matrix": [2, 4], "x": 1.25, "y": 0}, + {"matrix": [3, 4], "x": 2.25, "y": 0}, + {"matrix": [3, 5], "x": 3.25, "y": 0}, + {"matrix": [3, 6], "x": 4.25, "y": 0}, + {"matrix": [3, 7], "x": 5.25, "y": 0}, + {"matrix": [2, 7], "x": 6.25, "y": 0}, + {"matrix": [2, 8], "x": 7.25, "y": 0}, + {"matrix": [3, 8], "x": 8.25, "y": 0}, + {"matrix": [3, 9], "x": 9.25, "y": 0}, + {"matrix": [3, 10], "x": 10.25, "y": 0}, + {"matrix": [3, 11], "x": 11.25, "y": 0}, + {"matrix": [2, 11], "x": 12.25, "y": 0}, + {"matrix": [2, 9], "x": 13.25, "y": 0}, + {"matrix": [2, 12], "x": 14.25, "y": 0, "w": 2}, + + {"matrix": [2, 13], "x": 17.5, "y": 0}, + + {"matrix": [4, 1], "x": 0, "y": 1}, + + {"matrix": [4, 2], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [4, 4], "x": 2.75, "y": 1}, + {"matrix": [4, 5], "x": 3.75, "y": 1}, + {"matrix": [4, 6], "x": 4.75, "y": 1}, + {"matrix": [4, 7], "x": 5.75, "y": 1}, + {"matrix": [5, 7], "x": 6.75, "y": 1}, + {"matrix": [5, 8], "x": 7.75, "y": 1}, + {"matrix": [4, 8], "x": 8.75, "y": 1}, + {"matrix": [4, 9], "x": 9.75, "y": 1}, + {"matrix": [4, 10], "x": 10.75, "y": 1}, + {"matrix": [4, 11], "x": 11.75, "y": 1}, + {"matrix": [5, 11], "x": 12.75, "y": 1}, + {"matrix": [5, 9], "x": 13.75, "y": 1}, + + {"matrix": [4, 13], "x": 17.5, "y": 1}, + + {"matrix": [5, 2], "x": 0, "y": 2}, + + {"matrix": [6, 2], "x": 1.25, "y": 2, "w": 1.5}, + {"matrix": [1, 4], "x": 3, "y": 2}, + {"matrix": [1, 5], "x": 4, "y": 2}, + {"matrix": [1, 6], "x": 5, "y": 2}, + {"matrix": [1, 7], "x": 6, "y": 2}, + {"matrix": [0, 7], "x": 7, "y": 2}, + {"matrix": [0, 8], "x": 8, "y": 2}, + {"matrix": [1, 8], "x": 9, "y": 2}, + {"matrix": [1, 9], "x": 10, "y": 2}, + {"matrix": [1, 10], "x": 11, "y": 2}, + {"matrix": [1, 11], "x": 12, "y": 2}, + {"matrix": [0, 11], "x": 13, "y": 2}, + {"matrix": [6, 11], "x": 14, "y": 2}, + {"matrix": [0, 12], "x": 15, "y": 2, "w": 1.25, "h": 2}, + + {"matrix": [1, 13], "x": 17.5, "y": 2}, + + {"matrix": [1, 2], "x": 0, "y": 3}, + + {"matrix": [7, 3], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [7, 4], "x": 2.5, "y": 3}, + {"matrix": [6, 4], "x": 3.5, "y": 3}, + {"matrix": [6, 5], "x": 4.5, "y": 3}, + {"matrix": [6, 6], "x": 5.5, "y": 3}, + {"matrix": [6, 7], "x": 6.5, "y": 3}, + {"matrix": [7, 7], "x": 7.5, "y": 3}, + {"matrix": [7, 8], "x": 8.5, "y": 3}, + {"matrix": [6, 8], "x": 9.5, "y": 3}, + {"matrix": [6, 9], "x": 10.5, "y": 3}, + {"matrix": [6, 10], "x": 11.5, "y": 3}, + {"matrix": [7, 11], "x": 12.5, "y": 3}, + {"matrix": [6, 3], "x": 13.5, "y": 3, "w": 2.75}, + + {"matrix": [6, 12], "x": 17.5, "y": 3}, + + {"matrix": [0, 1], "x": 0, "y": 4}, + + {"matrix": [7, 14], "x": 3.75, "y": 4, "w": 2.5}, + {"matrix": [7, 1], "x": 6.25, "y": 4, "w": 7.25}, + {"matrix": [7, 2], "x": 14.75, "y": 4, "w": 1.5}, + + {"matrix": [7, 12], "x": 16.5, "y": 4}, + {"matrix": [0, 13], "x": 17.5, "y": 4}, + {"matrix": [7, 13], "x": 18.5, "y": 4} + ] + } } } diff --git a/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c b/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c new file mode 100644 index 000000000000..e603de22df90 --- /dev/null +++ b/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2024 Robin Haberkorn + * + * 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 . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_wheelwriter_1x_iso( /* Base layer */ + 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_INS, + 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_DEL, + 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_NUHS, KC_ENT, MO(1), + KC_APP, 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_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_wheelwriter_1x_iso( /* Function key layer */ + KC_MUTE, KC_NO, 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_NO, KC_BRIU, + KC_VOLU, 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_BRID, + KC_VOLD, 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_PGUP, + KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/ibm/model_m/modelh/readme.md b/keyboards/ibm/model_m/modelh/readme.md index bed79619cea6..2a59ce99c86c 100644 --- a/keyboards/ibm/model_m/modelh/readme.md +++ b/keyboards/ibm/model_m/modelh/readme.md @@ -17,4 +17,8 @@ Flashing example for this keyboard: make ibm/model_m/modelh:default:flash +For IBM Wheelwriter 10/15/1000 modules (ISO), you can try the `wheelwriter_1x_iso` keymap: + + make ibm/model_m/modelh:wheelwriter_1x_iso + 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). diff --git a/keyboards/janus/config.h b/keyboards/janus/config.h index 2d9cead0e3e2..8f28edfb9169 100644 --- a/keyboards/janus/config.h +++ b/keyboards/janus/config.h @@ -3,8 +3,8 @@ #pragma once - -/* Serial communication */ +/* Split keyboard configuration */ +#define EE_HANDS #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 #define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/janus/readme.md b/keyboards/janus/readme.md index aa9e65cdc49e..93b3b00c6fd2 100644 --- a/keyboards/janus/readme.md +++ b/keyboards/janus/readme.md @@ -18,6 +18,8 @@ Flashing example for this keyboard: 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). +If you would like to plug in your keyboard using either half, then set the EEPROM left/right UF2 bootloader parameter when flashing each half for the first time. Refer to [QMK's handedness by EEPROM documentation](https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom). Without this bootloader parameter, the configuration assumes the left half will be plugged in. + ## Bootloader Enter the bootloader in 3 ways: diff --git a/keyboards/jaykeeb/jk60rgb/jk60rgb.c b/keyboards/jaykeeb/jk60rgb/jk60rgb.c new file mode 100644 index 000000000000..53f14b3a4444 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/jk60rgb.c @@ -0,0 +1,29 @@ +/* Copyright 2024 Alabahuy + * + * 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 . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { // Capslock = WHITE + rgb_matrix_set_color(36, 255, 255, 255); + } + return true; +} +#endif diff --git a/keyboards/jaykeeb/jk60rgb/keyboard.json b/keyboards/jaykeeb/jk60rgb/keyboard.json new file mode 100644 index 000000000000..fd6876d56320 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/keyboard.json @@ -0,0 +1,238 @@ +{ + "manufacturer": "Jaykeeb Studio", + "keyboard_name": "JK60 RGB", + "maintainer": "Alabahuy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP20", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP21", "GP22", "GP23", "GP24", "GP15"] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP19" + }, + "rgb_matrix": { + "max_brightness": 125, + "sleep": true, + "animations": { + "alphas_mods": 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_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"x": 4, "y": 5, "flags": 2}, + {"matrix": [0, 0], "x": 8, "y": 7, "flags": 1}, + {"matrix": [0, 1], "x": 23, "y": 7, "flags": 4}, + {"matrix": [0, 2], "x": 37, "y": 7, "flags": 4}, + {"matrix": [0, 3], "x": 52, "y": 7, "flags": 4}, + {"x": 60, "y": 0, "flags": 2}, + {"matrix": [0, 4], "x": 67, "y": 7, "flags": 4}, + {"matrix": [0, 5], "x": 82, "y": 7, "flags": 4}, + {"matrix": [0, 6], "x": 97, "y": 7, "flags": 4}, + {"x": 105, "y": 0, "flags": 2}, + {"matrix": [0, 7], "x": 112, "y": 7, "flags": 4}, + {"matrix": [0, 8], "x": 127, "y": 7, "flags": 4}, + {"matrix": [0, 9], "x": 142, "y": 7, "flags": 4}, + {"x": 150, "y": 0, "flags": 2}, + {"matrix": [0, 10], "x": 157, "y": 7, "flags": 4}, + {"matrix": [0, 11], "x": 172, "y": 7, "flags": 4}, + {"matrix": [0, 12], "x": 187, "y": 7, "flags": 4}, + {"x": 195, "y": 0, "flags": 2}, + {"matrix": [0, 13], "x": 201, "y": 7, "flags": 4}, + {"matrix": [1, 13], "x": 216, "y": 7, "flags": 1}, + {"x": 224, "y": 13, "flags": 2}, + + {"matrix": [2, 13], "x": 213, "y": 19, "flags": 1}, + {"matrix": [1, 12], "x": 194, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 179, "y": 19, "flags": 4}, + {"matrix": [1, 10], "x": 164, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 149, "y": 19, "flags": 4}, + {"matrix": [1, 8], "x": 134, "y": 19, "flags": 4}, + {"matrix": [1, 7], "x": 119, "y": 19, "flags": 4}, + {"matrix": [1, 6], "x": 105, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 90, "y": 19, "flags": 4}, + {"matrix": [1, 4], "x": 75, "y": 19, "flags": 4}, + {"matrix": [1, 3], "x": 60, "y": 19, "flags": 4}, + {"matrix": [1, 2], "x": 45, "y": 19, "flags": 4}, + {"matrix": [1, 1], "x": 30, "y": 19, "flags": 4}, + {"matrix": [1, 0], "x": 11, "y": 19, "flags": 1}, + {"x": 4, "y": 19, "flags": 2}, + + {"matrix": [2, 0], "x": 13, "y": 32, "flags": 8}, + {"matrix": [2, 1], "x": 34, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 49, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 64, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 79, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 94, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 123, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 138, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 153, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 168, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 183, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 183, "y": 32, "flags": 1}, + + {"matrix": [3, 13], "x": 216, "y": 45, "flags": 1}, + {"matrix": [3, 12], "x": 196, "y": 45, "flags": 4}, + {"matrix": [3, 11], "x": 175, "y": 45, "flags": 4}, + {"matrix": [3, 10], "x": 161, "y": 45, "flags": 4}, + {"matrix": [3, 9], "x": 146, "y": 45, "flags": 4}, + {"matrix": [3, 8], "x": 135, "y": 45, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 45, "flags": 4}, + {"matrix": [3, 6], "x": 101, "y": 45, "flags": 4}, + {"matrix": [3, 5], "x": 86, "y": 45, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 45, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 45, "flags": 4}, + {"matrix": [3, 2], "x": 41, "y": 45, "flags": 4}, + {"matrix": [3, 0], "x": 17, "y": 45, "flags": 1}, + + {"x": 4, "y": 51, "flags": 2}, + {"matrix": [4, 0], "x": 11, "y": 57, "flags": 1}, + {"x": 15, "y": 57, "flags": 2}, + {"matrix": [4, 1], "x": 28, "y": 57, "flags": 1}, + {"matrix": [4, 2], "x": 50, "y": 57, "flags": 1}, + {"x": 72, "y": 57, "flags": 2}, + {"x": 92, "y": 57, "flags": 2}, + {"matrix": [4, 7], "x": 112, "y": 57, "flags": 1}, + {"x": 132, "y": 57, "flags": 2}, + {"x": 152, "y": 57, "flags": 2}, + {"matrix": [4, 11], "x": 172, "y": 57, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 57, "flags": 1}, + {"x": 209, "y": 57, "flags": 2}, + {"matrix": [4, 13], "x": 213, "y": 57, "flags": 1}, + {"x": 220, "y": 51, "flags": 2} + ] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x7762", + "vid": "0x414C" + }, + "community_layouts": [ + "60_ansi_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "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": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 14, "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, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c b/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c new file mode 100644 index 000000000000..809c0764b4b7 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2024 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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, KC_DEL, _______, + RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, + _______, RM_PREV, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/jk60rgb/readme.md b/keyboards/jaykeeb/jk60rgb/readme.md new file mode 100644 index 000000000000..fa0616c38723 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/readme.md @@ -0,0 +1,27 @@ +# JK60 RGB + +![jk60 RGB]( https://i.imgur.com/YP978wp.jpeg ) + +Layout 60% rgb per keys support keyboard case existing + +* Keyboard Maintainer: [Alabahuy](https://github.com/Alabahuy) +* Hardware Supported: JK60 RGB pcb, RP2040, led sk6812 per switch +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make jaykeeb/jk60rgb:default + +Flashing example for this keyboard: + + make jaykeeb/jk60rgb: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 diff --git a/keyboards/lily58/keymaps/default/keymap.c b/keyboards/lily58/keymaps/default/keymap.c index 44288d39d045..7e34752f2d06 100644 --- a/keyboards/lily58/keymaps/default/keymap.c +++ b/keyboards/lily58/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - | + * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * | | | | | | |-------| |-------| | _ | + | { | } | | | * `-----------------------------------------/ / \ \-----------------------------------------' diff --git a/keyboards/mykeyclub/jris65/hotswap/keyboard.json b/keyboards/mykeyclub/jris65/hotswap/keyboard.json new file mode 100644 index 000000000000..3ed56136d141 --- /dev/null +++ b/keyboards/mykeyclub/jris65/hotswap/keyboard.json @@ -0,0 +1,389 @@ +{ + "manufacturer": "zlkb", + "keyboard_name": "IRIS65", + "maintainer": "5217zl", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B6", "C6", "C7", "F1", "F0", "E6", "B0", "B1", "B3", "B7", "D2", "D1", "D0", "D7", "B4", "B5"], + "rows": ["F7", "F6", "F5", "B2", "F4"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "0.1.0", + "pid": "0x4953", + "vid": "0x5A4C" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json new file mode 100644 index 000000000000..fefbecd6fcbb --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json @@ -0,0 +1,21 @@ +{ + "keyboard": "mykeyclub/jris65/hotswap", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "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_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_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_BSLS", "KC_ENT", "KC_END", + "KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_DOT", "KC_COMM", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_DEL", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_LEFT", "KC_DOWN", "KC_RGHT" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "QK_BOOT", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ] +} diff --git a/keyboards/mykeyclub/jris65/readme.md b/keyboards/mykeyclub/jris65/readme.md new file mode 100644 index 000000000000..c216a11d435d --- /dev/null +++ b/keyboards/mykeyclub/jris65/readme.md @@ -0,0 +1,35 @@ +# JRIS65 + +![hotswap](https://i.imgur.com/kJzebgd.jpeg) +**Hotswap PCB** + +A 65% keyboard sold by Mykeyclub. + +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: JRIS65 R1 hotswap. +* Hardware Availability: intermitently via group buys from [Mykeyclub](https://www.mykeyclub.com/) + +Make example for this keyboard (after setting up your build environment): + + make mykeyclub/jris65/hotswap:default + +Flashing example for this keyboard: + + make mykeyclub/jris65/hotswap: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: + +* **Keycode in layout**: Using the default firmware, assign a key to Reset (`QK_BOOT`) and press the assigned key. +* **Physical reset button**: Briefly press the button on the back of the PCB + +The QMK default keymap has FN+Backspace assigned to `QK_BOOT` so you can use that key sequence for subsequent flashing. + +## Disclaimer + +In May 2024 Mykeyclub was contacted to see if they had interest in contributing firmware to the QMK project they did not. This code is thus community supported. + +This firmware has only been tested with JRIS65 R1 hotswap and is likely to work with R2 hotswap. The soldered variant of this PCB requires testing, with actual hardware, before being added. diff --git a/keyboards/mykeyclub/readme.md b/keyboards/mykeyclub/readme.md new file mode 100644 index 000000000000..e5df7a263854 --- /dev/null +++ b/keyboards/mykeyclub/readme.md @@ -0,0 +1,5 @@ +# Mykeyclub + +Mykeyclub is a retailer of mechanical keyboards and related products. They also facilitate the design and manufacture of keyboard products. + +**Website:** https://www.mykeyclub.com/ diff --git a/keyboards/nix_studio/oxalys80/config.h b/keyboards/nix_studio/oxalys80/config.h index 7943ea4a2511..8bad9905851d 100644 --- a/keyboards/nix_studio/oxalys80/config.h +++ b/keyboards/nix_studio/oxalys80/config.h @@ -1,4 +1,8 @@ +<<<<<<<< HEAD:keyboards/nix_studio/oxalys80/config.h /* Copyright 2021 Nix Studio +======== +/* Copyright 2024 Yiancar-Designs +>>>>>>>> upstream/master:keyboards/novelkeys/nk_classic_tkl_iso/halconf.h * * 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 @@ -15,4 +19,10 @@ */ #pragma once +<<<<<<<< HEAD:keyboards/nix_studio/oxalys80/config.h #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) +======== +#define HAL_USE_PWM TRUE + +#include_next +>>>>>>>> upstream/master:keyboards/novelkeys/nk_classic_tkl_iso/halconf.h diff --git a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json index 177f5235f458..7c688039a37d 100644 --- a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json @@ -140,8 +140,8 @@ {"matrix": [9, 1], "x": 3, "y": 4.375}, {"matrix": [8, 2], "x": 4.25, "y": 4.375, "w": 1.25}, - {"matrix": [9, 2], "x": 5.25, "y": 4.375}, - {"matrix": [8, 3], "x": 6.25, "y": 4.375}, + {"matrix": [9, 2], "x": 5.5, "y": 4.375}, + {"matrix": [8, 3], "x": 6.5, "y": 4.375}, {"matrix": [9, 3], "x": 8.5, "y": 4.375}, {"matrix": [8, 4], "x": 9.5, "y": 4.25}, {"matrix": [9, 4], "x": 10.5, "y": 4.375}, diff --git a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c index a99350ef7fce..a0ea79c45f46 100644 --- a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c @@ -43,6 +43,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { for (uint8_t i = 50; i <= 55; i++) { rgb_matrix_set_color(i, 255, 86, 0); } + } else if ((rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP) || (rgb_matrix_get_mode() == RGB_MATRIX_DIGITAL_RAIN)) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } } return false; } diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/config.h b/keyboards/novelkeys/nk_classic_tkl_iso/config.h new file mode 100644 index 000000000000..62744a2589b8 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/config.h @@ -0,0 +1,25 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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 . + */ + +#pragma once + +/* RGB options */ + +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 +#define WS2812_DMA_CHANNEL 3 diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h b/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h new file mode 100644 index 000000000000..8bad9905851d --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h @@ -0,0 +1,28 @@ +<<<<<<<< HEAD:keyboards/nix_studio/oxalys80/config.h +/* Copyright 2021 Nix Studio +======== +/* Copyright 2024 Yiancar-Designs +>>>>>>>> upstream/master:keyboards/novelkeys/nk_classic_tkl_iso/halconf.h + * + * 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 . + */ +#pragma once + +<<<<<<<< HEAD:keyboards/nix_studio/oxalys80/config.h +#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2) +======== +#define HAL_USE_PWM TRUE + +#include_next +>>>>>>>> upstream/master:keyboards/novelkeys/nk_classic_tkl_iso/halconf.h diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json new file mode 100755 index 000000000000..12085cbacc16 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json @@ -0,0 +1,270 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "NK_ Classic TKL ISO", + "maintainer": "Yiancar", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"], + "rows": ["B11", "B10", "B2", "B1", "A9", "A5"] + }, + "processor": "STM32F072", + "rgb_matrix": { + "animations": { + "alphas_mods": 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_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 26, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 38, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 51, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 83, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, + {"matrix": [0, 7], "x": 109, "y": 0, "flags": 1}, + {"matrix": [0, 8], "x": 122, "y": 0, "flags": 1}, + {"matrix": [0, 9], "x": 141, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 166, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 195, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 208, "y": 0, "flags": 1}, + {"matrix": [0, 16], "x": 221, "y": 0, "flags": 1}, + {"matrix": [1, 16], "x": 221, "y": 15, "flags": 1}, + {"matrix": [1, 15], "x": 208, "y": 15, "flags": 1}, + {"matrix": [1, 14], "x": 195, "y": 15, "flags": 1}, + {"matrix": [1, 13], "x": 173, "y": 15, "flags": 1}, + {"matrix": [1, 12], "x": 154, "y": 15, "flags": 4}, + {"matrix": [1, 11], "x": 141, "y": 15, "flags": 4}, + {"matrix": [1, 10], "x": 128, "y": 15, "flags": 4}, + {"matrix": [1, 9], "x": 115, "y": 15, "flags": 4}, + {"matrix": [1, 8], "x": 102, "y": 15, "flags": 4}, + {"matrix": [1, 7], "x": 90, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 77, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 64, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 51, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 38, "y": 15, "flags": 4}, + {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, + {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, + {"matrix": [2, 1], "x": 19, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 27, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 27, "flags": 4}, + {"matrix": [2, 4], "x": 58, "y": 27, "flags": 4}, + {"matrix": [2, 5], "x": 70, "y": 27, "flags": 4}, + {"matrix": [2, 6], "x": 83, "y": 27, "flags": 4}, + {"matrix": [2, 7], "x": 96, "y": 27, "flags": 4}, + {"matrix": [2, 8], "x": 109, "y": 27, "flags": 4}, + {"matrix": [2, 9], "x": 122, "y": 27, "flags": 4}, + {"matrix": [2, 10], "x": 134, "y": 27, "flags": 4}, + {"matrix": [2, 11], "x": 147, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 160, "y": 27, "flags": 4}, + {"matrix": [3, 13], "x": 178, "y": 21, "flags": 1}, + {"matrix": [2, 14], "x": 195, "y": 27, "flags": 1}, + {"matrix": [2, 15], "x": 208, "y": 27, "flags": 1}, + {"matrix": [2, 16], "x": 221, "y": 27, "flags": 1}, + {"x": 224, "y": 34, "flags": 9}, + {"x": 218, "y": 34, "flags": 9}, + {"x": 211, "y": 34, "flags": 9}, + {"x": 205, "y": 34, "flags": 9}, + {"x": 198, "y": 34, "flags": 9}, + {"x": 192, "y": 34, "flags": 9}, + {"matrix": [3, 12], "x": 163, "y": 40, "flags": 4}, + {"matrix": [3, 11], "x": 150, "y": 40, "flags": 4}, + {"matrix": [3, 10], "x": 138, "y": 40, "flags": 4}, + {"matrix": [3, 9], "x": 125, "y": 40, "flags": 4}, + {"matrix": [3, 8], "x": 112, "y": 40, "flags": 4}, + {"matrix": [3, 7], "x": 99, "y": 40, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 40, "flags": 4}, + {"matrix": [3, 5], "x": 74, "y": 40, "flags": 4}, + {"matrix": [3, 4], "x": 61, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 40, "flags": 4}, + {"matrix": [3, 2], "x": 35, "y": 40, "flags": 4}, + {"matrix": [3, 1], "x": 22, "y": 40, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 40, "flags": 1}, + {"matrix": [4, 0], "x": 1, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, + {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, + {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, + {"matrix": [4, 4], "x": 54, "y": 52, "flags": 4}, + {"matrix": [4, 5], "x": 67, "y": 52, "flags": 4}, + {"matrix": [4, 6], "x": 80, "y": 52, "flags": 4}, + {"matrix": [4, 7], "x": 93, "y": 52, "flags": 4}, + {"matrix": [4, 8], "x": 106, "y": 52, "flags": 4}, + {"matrix": [4, 9], "x": 118, "y": 52, "flags": 4}, + {"matrix": [4, 10], "x": 131, "y": 52, "flags": 4}, + {"matrix": [4, 11], "x": 144, "y": 52, "flags": 4}, + {"matrix": [4, 12], "x": 168, "y": 52, "flags": 1}, + {"matrix": [4, 15], "x": 208, "y": 52, "flags": 1}, + {"matrix": [5, 16], "x": 221, "y": 64, "flags": 1}, + {"matrix": [5, 15], "x": 208, "y": 64, "flags": 1}, + {"matrix": [5, 14], "x": 195, "y": 64, "flags": 1}, + {"matrix": [5, 13], "x": 176, "y": 64, "flags": 1}, + {"matrix": [5, 12], "x": 160, "y": 64, "flags": 1}, + {"matrix": [5, 11], "x": 144, "y": 64, "flags": 1}, + {"matrix": [5, 6], "x": 90, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 35, "y": 64, "flags": 1}, + {"matrix": [5, 1], "x": 19, "y": 64, "flags": 1}, + {"matrix": [5, 0], "x": 3, "y": 64, "flags": 1} + ], + "max_brightness": 120, + "sleep": true + }, + "url": "www.yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x4E55", + "vid": "0x8968" + }, + "ws2812": { + "driver": "pwm", + "pin": "B0" + }, + "community_layouts": ["tkl_iso_tsangan"], + "layouts": { + "LAYOUT_tkl_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "x": 5, "y": 0}, + {"matrix": [0, 5], "x": 6.5, "y": 0}, + {"matrix": [0, 6], "x": 7.5, "y": 0}, + {"matrix": [0, 7], "x": 8.5, "y": 0}, + {"matrix": [0, 8], "x": 9.5, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0}, + {"matrix": [0, 10], "x": 12, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 12], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c new file mode 100644 index 000000000000..8939cde8a4cb --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c @@ -0,0 +1,73 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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 . + */ +#include QMK_KEYBOARD_H + +enum my_keycodes { + RETRO_RGB = QK_USER_0 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_tkl_iso_tsangan( /* Base */ + 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_SCRL, KC_PAUS, + 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_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_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_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_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT_tkl_iso_tsangan( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, + _______, _______, _______, RETRO_RGB, _______, _______, _______, _______, _______, _______), + +}; + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 255, 86, 0); + } + } else if ((rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP) || (rgb_matrix_get_mode() == RGB_MATRIX_DIGITAL_RAIN)) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } + } + return false; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RETRO_RGB: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_INDICATOR); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h b/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h new file mode 100644 index 000000000000..ec984442ed0e --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2024 Yiancar-Designs + * + * 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 . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/readme.md b/keyboards/novelkeys/nk_classic_tkl_iso/readme.md new file mode 100644 index 000000000000..d748f2476a45 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/readme.md @@ -0,0 +1,32 @@ +# NK Classic TKL + +This is a TKL ISO PCB. It supports VIA and full per-key RGB. + +* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A TKL keyboard with STM32F072CB or APM compatible +* Hardware Availability: https://novelkeys.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make novelkeys/nk_classic_tkl_iso: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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or dfu-util (`make novelkeys/nk_classic_tkl_iso::dfu-util`) diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk b/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk new file mode 100644 index 000000000000..0ab54aaaf718 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF diff --git a/keyboards/noxary/valhalla_v2/valhalla_v2.c b/keyboards/noxary/valhalla_v2/valhalla_v2.c new file mode 100644 index 000000000000..2cd32d51492b --- /dev/null +++ b/keyboards/noxary/valhalla_v2/valhalla_v2.c @@ -0,0 +1,25 @@ +/* Copyright 2023 Gondolindrim + * + * 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 . + */ + +#include "quantum.h" + +bool led_update_kb(led_t led_state) { + if (!led_update_user(led_state)) { + return false; + } + (led_state.caps_lock && is_backlight_enabled()) ? backlight_set(get_backlight_level()) : backlight_set(0); + return true; +} diff --git a/keyboards/piantoruv44/config.h b/keyboards/piantoruv44/config.h new file mode 100644 index 000000000000..e6ba4c0be932 --- /dev/null +++ b/keyboards/piantoruv44/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 beekeeb +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/piantoruv44/keyboard.json b/keyboards/piantoruv44/keyboard.json new file mode 100644 index 000000000000..e2374dca6daa --- /dev/null +++ b/keyboards/piantoruv44/keyboard.json @@ -0,0 +1,98 @@ +{ + "manufacturer": "azhizhinov", + "keyboard_name": "PIANTORUV44", + "maintainer": "azhizhinov", + "bootloader": "rp2040", + "bootmagic": { + "matrix": [0, 5] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP5", "GP4", "GP11", "GP15", "GP3", "GP2"], + ["GP22", "GP20", "GP10", "GP14", "GP9", "GP8"], + ["GP21", "GP19", "GP6", "GP7", "GP13", "GP12"], + ["GP17", "GP18", "GP16", "GP26", null, null] + ] + }, + "processor": "RP2040", + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "direct": [ + ["GP2", "GP3", "GP15", "GP11", "GP4", "GP5"], + ["GP8", "GP9", "GP14", "GP10", "GP20", "GP22"], + ["GP12", "GP13", "GP7", "GP6", "GP19", "GP21"], + ["GP26", "GP16", "GP18", "GP17", null, null] + ] + } + }, + "serial": { + "driver": "vendor" + } + }, + "url": "https://github.com/azhizhinov/PIANTORUV44", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x415A" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [4, 0], "x": 8, "y": 0.25}, + {"matrix": [4, 1], "x": 9, "y": 0.125}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0.125}, + {"matrix": [4, 4], "x": 12, "y": 0.25}, + {"matrix": [4, 5], "x": 13, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [5, 0], "x": 8, "y": 1.25}, + {"matrix": [5, 1], "x": 9, "y": 1.125}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1.125}, + {"matrix": [5, 4], "x": 12, "y": 1.25}, + {"matrix": [5, 5], "x": 13, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [6, 0], "x": 8, "y": 2.25}, + {"matrix": [6, 1], "x": 9, "y": 2.125}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2.125}, + {"matrix": [6, 4], "x": 12, "y": 2.25}, + {"matrix": [6, 5], "x": 13, "y": 2.25}, + {"matrix": [3, 0], "x": 2.5, "y": 3}, + {"matrix": [3, 1], "x": 3.5, "y": 3.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3.5}, + {"matrix": [3, 3], "x": 5.5, "y": 3.75}, + {"matrix": [7, 0], "x": 7.5, "y": 3.75}, + {"matrix": [7, 1], "x": 8.5, "y": 3.5}, + {"matrix": [7, 2], "x": 9.5, "y": 3.25}, + {"matrix": [7, 3], "x": 10.5, "y": 3} + ] + } + } +} diff --git a/keyboards/piantoruv44/keymaps/default/keymap.c b/keyboards/piantoruv44/keymaps/default/keymap.c new file mode 100644 index 000000000000..49d5e4d178ea --- /dev/null +++ b/keyboards/piantoruv44/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-late +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC, + KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC) + ), + [1] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC) + ), + [2] = LAYOUT( + 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_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT, + KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ), + [3] = LAYOUT( + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ) +}; diff --git a/keyboards/piantoruv44/readme.md b/keyboards/piantoruv44/readme.md new file mode 100644 index 000000000000..0fe5fe2d0c0c --- /dev/null +++ b/keyboards/piantoruv44/readme.md @@ -0,0 +1,27 @@ +# Piantor UV 44 + +![Piantor UV 44](https://i.ibb.co/QvJM1GR/20240806-PIANTORUV44-00.png) + +PiantorUV44 is a Piantor/Cantor fork with Raspberry Pi Pico, hybrid hotswap socket and soldered-in switches support and flippable PCB. + +* Keyboard Maintainer: [azhizhinov](https://github.com/azhizhinov) +* Hardware Supported: RP2040 +* Hardware Availability: https://github.com/azhizhinov/PIANTORUV44 + +Make example for this keyboard (after setting up your build environment): + + make piantoruv44:default + +Flashing example for this keyboard: + + make piantoruv44: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: + +* **Physical reset button**: Hold the `BOOT` button on the Pico and press the `RST` button on the Pico, release the the `RST` button before the `BOOT` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +Once you enter the bootloader, the keyboard will show up as a USB device on your computer, you could drag and drop a firmware file to flash it, but I recommend using the flash commands for the respective side. diff --git a/keyboards/scottokeebs/scotto69/keyboard.json b/keyboards/scottokeebs/scotto69/keyboard.json new file mode 100644 index 000000000000..144e7b3a7e5f --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keyboard.json @@ -0,0 +1,107 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto69 (PCB Edition)", + "maintainer": "joe-scotto", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B15", "pin_b": "B14"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A7", "A8", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "C14", "C15", "A3", "A4", "A5", "A6"], + "rows": ["B11", "B10", "B2", "B1", "B0"] + }, + "processor": "STM32F072", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0030", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0.5}, + {"matrix": [0, 2], "x": 3, "y": 0.5}, + {"matrix": [0, 3], "x": 4, "y": 0.5}, + {"matrix": [0, 4], "x": 5, "y": 0.5}, + {"matrix": [0, 5], "x": 6, "y": 0.5}, + {"matrix": [0, 6], "x": 7, "y": 0.5}, + {"matrix": [0, 7], "x": 8, "y": 0.5}, + {"matrix": [0, 8], "x": 9, "y": 0.5}, + {"matrix": [0, 9], "x": 10, "y": 0.5}, + {"matrix": [0, 10], "x": 11, "y": 0.5}, + {"matrix": [0, 11], "x": 12, "y": 0.5}, + {"matrix": [0, 12], "x": 13, "y": 0.5}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [0, 14], "x": 16, "y": 0}, + {"matrix": [0, 15], "x": 17, "y": 0}, + {"matrix": [0, 16], "x": 18, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 2, "y": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1.5}, + {"matrix": [1, 3], "x": 4, "y": 1.5}, + {"matrix": [1, 4], "x": 5, "y": 1.5}, + {"matrix": [1, 5], "x": 6, "y": 1.5}, + {"matrix": [1, 6], "x": 7, "y": 1.5}, + {"matrix": [1, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 8], "x": 9, "y": 1.5}, + {"matrix": [1, 9], "x": 10, "y": 1.5}, + {"matrix": [1, 10], "x": 11, "y": 1.5}, + {"matrix": [1, 11], "x": 12, "y": 1.5}, + {"matrix": [1, 12], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 15, "y": 1}, + {"matrix": [1, 14], "x": 16, "y": 1}, + {"matrix": [1, 15], "x": 17, "y": 1}, + {"matrix": [1, 16], "x": 18, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 2, "y": 2.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 15, "y": 2}, + {"matrix": [2, 14], "x": 16, "y": 2}, + {"matrix": [2, 15], "x": 17, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 2, "y": 3.5}, + {"matrix": [3, 2], "x": 3, "y": 3.5}, + {"matrix": [3, 3], "x": 4, "y": 3.5}, + {"matrix": [3, 4], "x": 5, "y": 3.5}, + {"matrix": [3, 5], "x": 6, "y": 3.5}, + {"matrix": [3, 6], "x": 7, "y": 3.5, "w": 2}, + {"matrix": [3, 8], "x": 9, "y": 3.5}, + {"matrix": [3, 9], "x": 10, "y": 3.53}, + {"matrix": [3, 10], "x": 11, "y": 3.53}, + {"matrix": [3, 11], "x": 12, "y": 3.5}, + {"matrix": [3, 12], "x": 13, "y": 3.5}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3}, + {"matrix": [3, 15], "x": 17, "y": 3}, + {"matrix": [3, 16], "x": 18, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4, "w": 2}, + {"matrix": [4, 15], "x": 17, "y": 4} + ] + } + } +} diff --git a/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c new file mode 100644 index 000000000000..96ee0e18779d --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2024 Joe Scotto + +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 . +*/ + +#include QMK_KEYBOARD_H + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) } +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_LNUM, KC_SLSH, KC_ASTR, KC_MINS, + KC_2, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, KC_QUOT, KC_7, KC_8, KC_9, KC_PLUS, + KC_MUTE, KC_LSFT, LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_RSFT, KC_4, KC_5, KC_6, + KC_4, KC_ESC, KC_NO, KC_NO, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_ENT, + KC_5, KC_0, KC_DOT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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( + KC_TRNS, KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk b/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk new file mode 100644 index 000000000000..ee325681483f --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/scottokeebs/scotto69/readme.md b/keyboards/scottokeebs/scotto69/readme.md new file mode 100644 index 000000000000..d46b93b70b77 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/readme.md @@ -0,0 +1,29 @@ +# Scotto69 (PCB Edition) + +![Scotto69 (PCB Edition)](https://i.imgur.com/WNtAzcG.jpeg) + +The Scotto69 (PCB Edition) is a standard 4x12 ortholinear keyboard with a numpad on the right and 5 macro keys on the left with an optional encoder. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: STM32F072CBT6 +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto69:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto69: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 diff --git a/keyboards/studiokestra/fairholme/keyboard.json b/keyboards/studiokestra/fairholme/keyboard.json new file mode 100644 index 000000000000..f789c2059bb8 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keyboard.json @@ -0,0 +1,1002 @@ +{ + "manufacturer": "Studio Kestra", + "keyboard_name": "Fairholme", + "maintainer": "Studio Kestra", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B11", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13"], + "rows": ["A0", "A1", "A2", "A9", "A10"] + }, + "processor": "STM32F072", + "usb": { + "device_version": "1.0.0", + "pid": "0x6002", + "vid": "0x7C10" + }, + "indicators": { + "caps_lock": "B10", + "on_state": 1 + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "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": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "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, 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": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_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, "w": 2}, + + {"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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": 2.75}, + + {"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": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_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": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": [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": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_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": [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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": 2.75}, + + {"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, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_tsangan_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": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": [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, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "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": [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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_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": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "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": [1, 13], "x": 14, "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": [2, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"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, "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": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_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, "w": 2}, + + {"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": [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": 2.75}, + + {"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": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_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": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "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": [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": [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": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_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": [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": [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": 2.75}, + + {"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, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_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": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "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": [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": [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, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "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": [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": [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": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_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": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "x": 14, "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": [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": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c new file mode 100644 index 000000000000..f240a1c67e0b --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│ Fn │Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_ansi( + 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_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_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), + [1] = LAYOUT_60_ansi( /* FN */ + KC_NO, 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_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, 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 + ) +}; diff --git a/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c new file mode 100644 index 000000000000..50299b26af10 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ | │ ~ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bcksp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_ansi_split_bs_rshift( + 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_GRV, + 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_BSPC, + 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_60_ansi_split_bs_rshift( /* FN */ + KC_NO, 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_NO, KC_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, 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 + ) +}; diff --git a/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c new file mode 100644 index 000000000000..67468d4ffb78 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ` │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│ Fn │Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_iso( + 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), + [1] = LAYOUT_60_iso( /* FN */ + KC_NO, 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_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, 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 + ) +}; diff --git a/keyboards/studiokestra/fairholme/keymaps/default/keymap.c b/keyboards/studiokestra/fairholme/keymaps/default/keymap.c new file mode 100644 index 000000000000..15ad875016a5 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ | │ ~ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bcksp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = 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_GRV, + 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_BSPC, + 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_NO, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_all( /* FN */ + KC_NO, 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_NO, KC_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, 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 + ) +}; diff --git a/keyboards/studiokestra/fairholme/readme.md b/keyboards/studiokestra/fairholme/readme.md new file mode 100644 index 000000000000..b5b92bacc249 --- /dev/null +++ b/keyboards/studiokestra/fairholme/readme.md @@ -0,0 +1,27 @@ +# studiokestra/fairholme + +![studiokestra/fairholme](https://i.imgur.com/Ep6wkgS.png) + +60% PCB developed as a successor to Cascade PCB powered by STM32F072. + +* Keyboard Maintainer: [studiokestra](https://github.com/studiokestra) +* Hardware Supported: Geonworks F2-60 +* Hardware Availability: https://geon.works + +Make example for this keyboard (after setting up your build environment): + + make studiokestra/fairholme:default + +Flashing example for this keyboard: + + make studiokestra/fairholme: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 diff --git a/keyboards/thumbsup/keymaps/default/keymap.c b/keyboards/thumbsup/keymaps/default/keymap.c new file mode 100644 index 000000000000..04a16a50815d --- /dev/null +++ b/keyboards/thumbsup/keymaps/default/keymap.c @@ -0,0 +1,171 @@ +/* Copyright 2022 Alexander (Sasha) Karmanov + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _CURSORLEFT, + _CURSORRGHT, + _NUMBERS, + _EXTRARIGHT +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------+ +-----------------------------------------. + * | Esc | Q | W | E | R | T | | Y | U | I | O | P |BSpc | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | Tab | A | S | D | F | G | | H | J | K | L | ; |Enter | +Hold: + Extra-Rt + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ctrl | Z | X | C | V | B | | N | M | , | . | / |RCtrl | + * +------+------+------+------+------+------+ +------+------+------+------+------+------+ + . | GUI | Alt | | | | | | RAlt | Menu | . + | +------+------+ | | | | +------+------+ | +Hold: | | LSft |CursLt| |CursRt| RSft | | +Single hit: | | |Space | |Space | | | + | +------+------| |------+------+ | + +------------------------------> SPACE SPACE <-----------------------------+ + + */ +[_QWERTY] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + LT(_EXTRARIGHT,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_PENT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(_CURSORLEFT,KC_SPC), LT(_CURSORRGHT ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC +), + + +/* + +Layers below are used on top of QWERTY layer defined above. +(Except the PLOVER/STENO layers.) + +-------+ +The keys which are shown empty, like this: | |, represent a transparent key, + +-------+ +meaning the key from the underlaying layer (i.e. QWERTY) will be used. +In the keymaps those keys are defined as "_______". + + +-------+ +-------+ +The keys which are shown solid, like this: | XXXXX | or this | ... |, represent an opaque/blocking key? + +-------+ +-------+ +Such key is not doing anything in that layer nor allowing the key from the underlaying layer +to be invoked. +In the keymaps those keys are defined as "XXXXXXX". + +Most of the modifiers are the same in all layers. +So in most layers they are defined as transparent keys, +letting the keys from QWERTY layer to do the work. + +With that idea all the layers below leave the unmodified keys as transparent keys. +In the same time - the layers block the keys that have no sense to be used +in that given layer. For instance in the cursor control layers +some of the keys are not used in the layer, but they are blocked to avoid +alpha-keys from QWERTY layer to appear. + +For the same reason the keymaps below are shown simplified, +without separate thumbcluster. + +*/ + + + +/* Cursor Control on the right (Right Space) + * ,-----------------------------------------------------------------------------------. + * | Esc |Break |WheelD|MousUp|WheelU| Del | Ins | Home | Up | End | ` | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | |SelAll|MousLt|MousDn|MousRt| ... | PgUp | Left | Down |Right | ... | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | Undo | Cut | Copy | Paste| ... | PgDn |MsBtLe|MsBtMi|MsBtRt| ... | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | X | | | | + * `-------------------------------------------------------' + */ +[_CURSORRGHT] = LAYOUT( + _______, KC_BRK, KC_WH_D, KC_MS_U, KC_WH_U, KC_DEL, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, + _______, LCTL(KC_Z), LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, KC_INS, KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + + + /* Cursor Control on the left (Left Space) + * ,-----------------------------------------------------------------------------------. + * | |Break | Home | Up | End | Ins | Del |WheelU|MousUp|WheelD| ` | Del | + * |------+------+------+------+------+------+-------------+------+------+------+------| + * | Enter|SelAll|Right | Down | Left | PgUp | xxx |MousLt|MousDn|MousRt| xxx |Enter | + * |------+------+------+------+------+------+------|------+------+------+------+------| + * | | xxx |MsBtRt|MsBtMi|MsBtLe| PgDn | xxx | Cut | Copy | Paste| xxx | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | X | | | | | + * `-------------------------------------------------------' + */ +[_CURSORLEFT] = LAYOUT( + _______, KC_BRK, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL, KC_WH_U, KC_MS_U, KC_WH_D, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, _______, + _______, XXXXXXX, KC_BTN2, KC_BTN3, KC_BTN1, KC_INS, XXXXXXX, LCTL(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + + /* Numbers on the home row, FNs on the top row, symbols in the second row + * (Lower or Raise) + * ,-----------------------------------------------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |BackSp| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| Enter| + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F11 | F12 | LAlt |LShift| LAlt | RAlt |RShift| , | . | / | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | | | | | + * `-------------------------------------------------------' + */ +[_NUMBERS] = LAYOUT( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + LT(_EXTRARIGHT,KC_TAB), 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_LALT, KC_LSFT, KC_LALT, KC_RALT, KC_RSFT, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* ExtraRightSide (the keys from the right side which did not fit into the matrix) + * ,-----------------------------------------------------------------------------------. + * | Esc |BREAK |PLOVR2|PLOVER|TxBOLT|TxBlt2| ` | = | ( | ) | - | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * |******| | | | | |PrtScr| | | | ' | | + This is the + key turning + this layer on + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | |NumPad|Qwerty| | | | [ | ] | \ | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | | | | | + * `-------------------------------------------------------' + */ +[_EXTRARIGHT] = LAYOUT( + _______, KC_BRK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GRV, KC_EQL, KC_LPRN, KC_RPRN, KC_MINS, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUOT, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _CURSORLEFT, _CURSORRGHT, _NUMBERS); +} diff --git a/keyboards/thumbsup/rev9_promicro_4x12/config.h b/keyboards/thumbsup/rev9_promicro_4x12/config.h new file mode 100644 index 000000000000..71300e008d0e --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2024 Alexander (Sasha) Karmanov (ak66666) + +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 . +*/ + + +#pragma once + + +//Cirque ProGlide Touchpad configuration +#define POINTING_DEVICE_ROTATION_90 +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE +#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE + +#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE diff --git a/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json new file mode 100644 index 000000000000..95fa6664b244 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json @@ -0,0 +1,77 @@ +{ + "manufacturer": "Alexander (Sasha) Karmanov", + "keyboard_name": "ThumbsUp! v9", + "maintainer": "u/ak66666", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "pointing_device": true + }, + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "B3", "F4", "F5", "F6", "F7", "B1"], + "rows": ["D3", "D2", "D4", "C6"] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0090", + "vid": "0x5361" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "W", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "E", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "R", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "T", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "U", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "I", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "O", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "P", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "BKSPC", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "TAB", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "A", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "S", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "D", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "F", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "G", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "H", "matrix": [1, 6], "x": 6, "y": 1}, + {"label": "J", "matrix": [1, 7], "x": 7, "y": 1}, + {"label": "K", "matrix": [1, 8], "x": 8, "y": 1}, + {"label": "L", "matrix": [1, 9], "x": 9, "y": 1}, + {"label": ";", "matrix": [1, 10], "x": 10, "y": 1}, + {"label": "ENTER", "matrix": [1, 11], "x": 11, "y": 1}, + {"label": "LCTRL", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "Z", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "X", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "C", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "V", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "B", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "N", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "M", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": ",", "matrix": [2, 8], "x": 8, "y": 2}, + {"label": ".", "matrix": [2, 9], "x": 9, "y": 2}, + {"label": "/", "matrix": [2, 10], "x": 10, "y": 2}, + {"label": "RCTRL", "matrix": [2, 11], "x": 11, "y": 2}, + {"label": "SPACE", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "WIN", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "LALT", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "LSHIFT", "matrix": [3, 5], "x": 4, "y": 3}, + {"label": "RAISE", "matrix": [3, 4], "x": 5, "y": 3}, + {"label": "LOWER", "matrix": [3, 7], "x": 6, "y": 3}, + {"label": "RSHIFT", "matrix": [3, 6], "x": 7, "y": 3}, + {"label": "RALT", "matrix": [3, 8], "x": 8, "y": 3}, + {"label": "MENU", "matrix": [3, 9], "x": 9, "y": 3}, + {"label": "SPACE", "matrix": [3, 10], "x": 10, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/readme.md b/keyboards/thumbsup/rev9_promicro_4x12/readme.md new file mode 100644 index 000000000000..e74da5cec8f9 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/readme.md @@ -0,0 +1,27 @@ +# ThumbsUp! v9 + +![ThumbsUp! v9](https://i.imgur.com/Zqc6dpQ.jpeg) + +A yet another version of the ThumbsUp! keyboard, a three-level PCB-based keyboard supporting Kailh Choc (1350) switches. +This v9 version got 4x12 key layout with 2- or 3-key thumbcluster and an optional touchpad. + + +* Keyboard Maintainer: [Alexander (Sasha) Karmanov](https://github.com/ak66666) +* Hardware Supported: AtMega32u4 ProMicro-compatibles +* Hardware Availability: https://www.etsy.com/ca/listing/1641077896/thumbsup-v9-ergonomic-mechanical + +Make example for this keyboard (after setting up your build environment): + + make thumbsup/rev9_promicro_4x12:default + +Flashing example for this keyboard: + + make thumbsup/rev9_promicro_4x12: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: + +* **Physical reset button**: Press twice the button on the bottom side of the middle PCB. diff --git a/keyboards/thumbsup/rev9_promicro_4x12/rules.mk b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk new file mode 100644 index 000000000000..9bfd1498a339 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c \ No newline at end of file diff --git a/keyboards/zsa/moonlander/moonlander.c b/keyboards/zsa/moonlander/moonlander.c index 14405fc4126e..e1f1cfdc3790 100644 --- a/keyboards/zsa/moonlander/moonlander.c +++ b/keyboards/zsa/moonlander/moonlander.c @@ -399,12 +399,19 @@ void keyboard_post_init_kb(void) { } #ifdef RGB_MATRIX_ENABLE rgb_matrix_enable_noeeprom(); +<<<<<<< HEAD #endif #if defined(DEFERRED_EXEC_ENABLE) is_launching = true; defer_exec(500, startup_exec, NULL); +======= +>>>>>>> upstream/master #endif - matrix_init_user(); +#if defined(DEFERRED_EXEC_ENABLE) + is_launching = true; + defer_exec(500, startup_exec, NULL); +#endif + keyboard_post_init_user(); } void eeconfig_init_kb(void) { // EEPROM is getting reset! diff --git a/layouts/default/readme.md b/layouts/default/readme.md index d057fe770847..e53500882241 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -64,21 +64,6 @@ LAYOUT_60_ansi_arrow_split_bs └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ ``` -``` -LAYOUT_60_ansi_arrow_split_bs_7u_spc -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤ -│ │ │ │ │ │ │ │ │ -└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ -``` - ``` LAYOUT_60_ansi_split_bs_rshift ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index 327df6e277b6..bbb0f740981a 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -102,6 +102,8 @@ __attribute__((weak)) uint16_t combo_count(void) { return combo_count_raw(); } +_Static_assert(ARRAY_SIZE(key_combos) <= (QK_KB), "Number of combos is abnormally high. Are you using SAFE_RANGE in an enum for combos?"); + combo_t* combo_get_raw(uint16_t combo_idx) { if (combo_idx >= combo_count_raw()) { return NULL; @@ -127,6 +129,11 @@ __attribute__((weak)) uint16_t tap_dance_count(void) { return tap_dance_count_raw(); } +<<<<<<< HEAD +======= +_Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?"); + +>>>>>>> upstream/master tap_dance_action_t* tap_dance_get_raw(uint16_t tap_dance_idx) { if (tap_dance_idx >= tap_dance_count_raw()) { return NULL; @@ -153,6 +160,11 @@ __attribute__((weak)) uint16_t key_override_count(void) { return key_override_count_raw(); } +<<<<<<< HEAD +======= +_Static_assert(ARRAY_SIZE(key_overrides) <= (QK_KB), "Number of key overrides is abnormally high. Are you using SAFE_RANGE in an enum for key overrides?"); + +>>>>>>> upstream/master const key_override_t* key_override_get_raw(uint16_t key_override_idx) { if (key_override_idx >= key_override_count_raw()) { return NULL; diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 7efd085ea32e..703589b05471 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -281,7 +281,7 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_LOGICAL_MAXIMUM(16, 0x7FFF), HID_RI_REPORT_COUNT(8, 0x02), HID_RI_REPORT_SIZE(8, 0x10), - HID_RI_UNIT(8, 0x33), // Inch, English Linear + HID_RI_UNIT(8, 0x13), // Inch, English Linear HID_RI_UNIT_EXPONENT(8, 0x0E), // -2 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index c8ab49425366..fa14820e7254 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -659,7 +659,7 @@ const PROGMEM uchar shared_hid_report[] = { 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x95, 0x02, // Report Count (2) 0x75, 0x10, // Report Size (16) - 0x65, 0x33, // Unit (Inch, English Linear) + 0x65, 0x13, // Unit (Inch, English Linear) 0x55, 0x0E, // Unit Exponent (-2) 0x81, 0x02, // Input (Data, Variable, Absolute) 0xC0, // End Collection diff --git a/util/install/fedora.sh b/util/install/fedora.sh index 0b93326bbfca..20a14882069d 100755 --- a/util/install/fedora.sh +++ b/util/install/fedora.sh @@ -5,6 +5,7 @@ _qmk_install() { . /etc/os-release if [ "$VERSION_ID" -ge "39" ]; then + sudo dnf copr -h >/dev/null 2>&1 || sudo dnf $SKIP_PROMPT install dnf-plugins-core sudo dnf $SKIP_PROMPT copr enable erovia/dfu-programmer fi